Systems and methods for optimizing data driven media placement

ABSTRACT

System and methods are presented for selecting advertising slots in an advertising campaign with an audience management system. In some embodiments, a user selects a budget value, which is partitioned into a first and second partition value. The audience management module stores a plurality of data structures in a memory, and defines a plurality of groups such that each of the plurality of data structures is associated with one of the plurality of groups. A portion of the first partition value is allocated to each of the plurality of groups, and the audience management module flags, for each group, at least one data structure based on the portion of the first partition value allocated to the group. The audience management module identifies a subset of unflagged data structures, and flags at least one data structure based on the second partition value.

CROSS-REFERENCE TO RELATED APPLICATION

This application claims the benefit of priority of U.S. ProvisionalPatent Application No. 61/750,809, filed Jan. 10, 2013, which is herebyincorporated by reference herein in its entirety.

BACKGROUND

The placement of advertisements and promotions have traditionally reliedon extrapolation of a small data panel of viewing behavior and otherdemographic information from research companies, such as the NielsenCompany, to inform these placements. These panels are limited torobustly measuring the exposure of fairly wide, mostlydemographically-based audience targets, such as “women age 25-54”, andreporting is generally limited to an aggregate metric for each programaired or the commercial minutes aired within a program.

Planning and placing TV advertising using these metrics alone, however,introduces significant inefficiencies into the placement process. Ingeneral, advertisers have a narrower, more specific target than the widedemographic measure produced by data panels. For example, a healthcereal manufacturer may be more interested in reaching “women who arehealth conscious shoppers” instead of “women age 25-54”, but presentsystems are unable to distinguish between these two groups, or at leastnarrow the scope of the broader demographic. In addition, advertisersestablish reach and frequency targets for their advertising campaigns,but current metrics and systems are unable to distinguish which viewersthe advertisements are being delivered to in each advertising placement,and thus many spot placements are simply wasted by exposing viewers whohave already seen the advertisement many times while other viewers, whoare part of the target, go unexposed. Such methods further lackcomprehensive placement and optimization algorithms to help advertiserschoose available advertising slots to more effectively reach theirtarget audiences.

SUMMARY

These and other objects are accomplished in accordance with theprinciples of the present invention by providing an interface fordeveloping and optimizing a media placement plan for an advertisingcampaign.

In some embodiments, an audience management system allows a user toselect advertising slots in an advertising campaign. The audiencemanagement system generates a plurality of cells for display in a gridarrangement in at least two dimensions. In some embodiments, a pluralityof cells may be generated for display in a three-dimensionalarrangement. Each of the plurality of cells is associated with anadvertising slot corresponding to a content source, time period,particular program, and/or a type of programming. For example, thecontent source may be a television channel and the time period may be atime of day for which the advertisement is to be aired. Each of theplurality of cells also includes a representation of an audience of theassociated advertising slot. For example, the representation of theaudience may be an audience composition, an audience size, a projectednumber of audience impressions, or any combination thereof.

In some embodiments, the audience management system may identify a firstcell, for example, by selecting cells. For example, the audiencemanagement system may receive a user selection of a first cell of theplurality of cells. In some embodiments, the audience management systemmay automatically select cells, for example, in response to running anoptimization algorithm. The cells may be selected by the system to showthe user which advertising slots are recommended for the media plan. Theaudience management system may be implemented on a user device as aninteractive interface application for which the user can input variousselections and choose various functions to perform. The functions mayinclude adding a cell to a media plan, removing a cell from a mediaplan, retrieving more information related to an associated advertisingslot, updating audience-related information contained in the cell,assigning a weight value to the first cell, or any suitable combinationthereof. The audience management system may execute a function withrespect to a first advertising slot associated with the first cell.

In some embodiments, the user may select a content source or a timeperiod. In response, the audience management system may identify asubset of the plurality of cells corresponding to the selected contentsource or time period, and the subset may include the first cell. Afunction is then executed on the subset of cells. For example, thefunction may update a weight value related to an associated advertisingslot of each cell in the subset. The weight value may be user-specified,and may relate to a relative importance of the advertising slots to anadvertiser or user of the system such that, should a placement functionbe executed, the placement function takes the weight value into accountwhen optimizing the media plan.

In some embodiments, the audience management system may implement aplacement function to recommend advertising slots for an advertisingcampaign. For example, the system may receive a user selection of abudget value, which may correspond to a fixed budget for the advertisingcampaign. The audience management system may then allocate the budgetvalue in one or more ways. For example, the audience management systemmay partition the budget value into a first partition value and a secondpartition value. For example, the audience management system may makethe first partition value correspond to 70% of the total budget and makethe second partition value correspond to 30% of the total budget. Inanother example, the audience management system may allocate the budgetvalue based by various time periods, content providers, programmingtypes, and/or selected advertising universes.

In some embodiments, the audience management system defines a pluralityof data structures for storage in memory, in which each data structuremay correspond to a particular advertising slot. The system also definesa plurality of groups, and associates each of the plurality of datastructures with one of the plurality of groups. For example, the groupsmay correspond to days in an advertising campaign, and each of theplurality of data structures may represent an advertising slot for aparticular day. The audience management system then allocates a portionof the first partition value to each of the plurality of groups. Forexample, if the first partition value corresponds to 70% of the totalbudget, the audience management system may allocate that each dayreceives a portion of the 70%. In some embodiments, each day willreceive an equal allocation of the 70% (e.g. for a seven-day advertisingplan, each day receives 10% of the total budget).

In some embodiments, the audience management system flags, for each ofthe plurality of groups, at least one data structure associated with thegroup based on the portion of the first partition value allocated to thegroup. For example, the audience management system may identify a listof advertising slots for a particular day of the week that should beadded to the media plan, as long as the list of advertising slots doesnot exceed the allocated budget for that day. In some embodiments, eachdata structure associated with a particular group is ranked by theaudience management system based on audience-related criteria, includingaudience composition, audience size, audience index, impressions,user-specified weight, campaign goals and parameters, such as totalimpressions, budget constraints, inventory restrictions, reach,frequency, or any suitable combination thereof. A plurality of rankeddata structures may be identified by the audience management system, inwhich each of the plurality has the highest rankings of the datastructures associated with a particular group. The audience managementsystem may then flag the identified data structures. For example, theaudience management system ranks each advertising slot for a particularday, and then purchases the most highly ranked advertising slots untilthe budget allocated for that day is reached. The audience managementsystem performs this selection for each day in the advertising campaign.

In some embodiments, the audience management system identifies aremainder of data structures within the plurality of data structuresthat are unflagged regardless of the group that the data structures areassociated with. For example, the audience management system will searchthrough all available advertising slots through each day of theadvertising campaign to identify advertising slots that were notpurchased. The audience management system will then rank eachadvertising slot based on an audience-related criteria, and purchase thehighest ranked advertising slots as long as the second budget portion(e.g. 30% of the total budget) is not exceeded.

In some embodiments, the audience management system allows a user to setprices for individual advertising slots or for pricing tiers of groupsof advertising slots. The audience management system defines a pluralityof data structures and stores the data structures in a memory. Each datastructure is representative of one of a plurality of advertising slots.The audience management system then stores, in each of the plurality ofdata structures, a price value associated with a respective advertisingslot. For example, the audience management system may receive pricinginformation for advertising slots from various publishers, serviceproviders, and content sources.

In some embodiments, the audience management system receives a userselection of a fixed price value. The fixed price value is then storedas the fixed price value of a first data structure of the plurality ofdata structures. For example, the user may designate a particularadvertising slot to have a fixed price. The audience management systemthen automatically updates the fixed price value of each of theplurality of data structures without changing the fixed price value ofthe first data structure. For example, once the price is fixed for afirst advertising slot, the audience management system may update thepricing information associated with a remainder of the advertising slotsbased on a projected demand of each of the remainder of the advertisingslots. In some embodiments, the projected demand may be based on thefixed price (e.g. setting a high fixed price may be predicted toincrease the demand of “nearby” advertising slots on the same televisionchannel). The audience management system may determine projected demandby analyzing historical inventory data, projected inventory data,current demand, audience estimates, or any suitable combination thereof.

In some embodiments, the audience management system may allow the userto set a fixed price for a pricing tier. Pricing tiers may be used toset the prices of a plurality of advertising slots belonging to aparticular group associated with the pricing tier. Once the user setsthe fixed price for the pricing tier, the audience management system mayupdate a fixed price value for each of the plurality of pricing tierswithout changing the fixed price value of the fixed pricing tier. Theaudience management system then updates each price value of theplurality of advertising slots based on an updated price value of anassociated pricing tier.

BRIEF DESCRIPTION OF THE DRAWINGS

The above and other features of the present invention, its nature andvarious advantages will be more apparent upon consideration of thefollowing detailed description, taken in conjunction with theaccompanying drawings, and in which:

FIG. 1 shows a high level block diagram of an audience management systemin accordance with some embodiments of the disclosure;

FIG. 2 is a block diagram of an illustrative user equipment device usedin accordance with some embodiments of the disclosure;

FIG. 3 is a block diagram of an illustrative device network for anaudience management system in accordance with some embodiments of thedisclosure;

FIG. 4 is a block diagram illustrating a workflow process in building adata driven media plan in accordance with some embodiments of thedisclosure;

FIG. 5 is a diagram illustrating how available inventory is projected inaccordance with some embodiments of the disclosure;

FIGS. 6A and 6B are diagrams illustrating how metrics are determined forinventory blocks for a media plan in accordance with some embodiments ofthe disclosure;

FIG. 7 shows an illustrative media plan interface in accordance withsome embodiments of the disclosure;

FIG. 8 shows a detailed view of advertising slots for an illustrativemedia plan interface in accordance with some embodiments of thedisclosure;

FIG. 9 shows an illustrative media plan interface with a detailedinformation display in accordance with some embodiments of thedisclosure;

FIG. 10 shows weighting options for content sources and time periods foran illustrative media plan interface in accordance with some embodimentsof the disclosure;

FIG. 11 shows a pricing display for an illustrative media plan interfacein accordance with some embodiments of the disclosure;

FIG. 12 is a flowchart of the illustrative steps involved in generatingfor display a media plan interface in accordance with some embodimentsof the disclosure;

FIG. 13 is a flowchart of the illustrative steps involved in media planallocation from a systems perspective in accordance with someembodiments of the disclosure;

FIG. 14 is a flowchart of the illustrative steps involved inoptimization and allocation of advertising slots for a media plan inaccordance with some embodiments of the disclosure;

FIG. 15 is a flowchart of the illustrative steps involved in static anddynamic pricing of advertising slots for a media plan in accordance withsome embodiments of the disclosure; and

FIG. 16 is a flowchart of the illustrative steps involved in static anddynamic pricing of pricing tiers for a media plan in accordance withsome embodiments of the disclosure.

DETAILED DESCRIPTION

Over the course of the last two decades, the amount and variety of largedata sets has grown exponentially and will only continue to grow. Asadditional data has become available, this data has been used to informmedia placement on a largely ad hoc basis through the use of researchreports to manually place advertisements. The systems and methodsdescribed herein relate to a platform that enables optimization of mediaplacement (which may also be referred to as “advertisement placement”,“ad placement”, or “spot ad placement”) through coupling of mediaactivation with audience based analytics and targeting that are nowpossible with large scale datasets and scaled computing resources.

While TV remains a medium where a single advertising spot is seen bysomewhere between a few hundred up to millions of people, a differentsubset of the population is exposed by each spot ad placement. Thesystems and methods described herein use granular data to understand themembers of this subset and the overlap of each subset with each other,enabling the selection of advertisement and promotional placements thatmost efficiently meet an advertiser's goals. Moreover, the systems andmethods described herein are applicable to other embodiments (e.g.online embodiments) aside form television. The system, referred toherein as an “audience management system”, provides a common platformthat can ingest data from multiple sources (e.g. panels, set-tops,SmartTVs, etc.), generate future estimates of delivery for ad inventoryusing these data sources, and enable the delivery of media weight asmeasured by one or more of these data sources. The system utilizes anoptimization algorithm that serves to optimize the delivery of one ormore of these metrics, depending on the user's inputs and selections inbuilding the media plan.

The system provides an inventory owner with the ability to build anoptimized media plan based on a specific target for the advertiser.Using targeting segments matched to set-top or other viewership data ata viewer, household, or other viewing group level, the system willassemble an optimized media plan to reach the advertiser's target at thedesired frequency, going beyond traditional age/sex demographics whichare primarily used to plan and drive ad placement today.

Once an audience media plan has been generated by the system andapproved by an advertiser, the system will create linear traffic ordersto execute the media plan. As these traffic orders are executed, thesystem will update placements to ensure that the media plan delivers onthe contracted commitments to the advertiser.

The system further enables the inventory owner to evaluate the inventoryusage, pricing, and sellout rates for their existing linear business andestablish rules which define inventory availability and pricing policiesfor sales through the system. As referred to herein, the term“inventory” refers to any available medium through which an advertisercan have an advertisement made available to an audience for a period oftime (e.g. a television advertisement slot, a billboard, a magazine, orany other suitable medium). The system optimizes the use of inventoryacross all of the active media plans, enabling a publisher or otherinventory owner to sell audience targeting commitments to manyadvertisers on an optimized basis. For example, the embodimentsdisclosed herein may also be applied to multiple media plans andadvertiser criteria. In such cases, the audience management system mayallocate amongst all advertisers in a responsive manner in order toprovide user feedback related to recommended media plans. In eachembodiment, the audience management system may rank available inventorybased on whether it is more suitable for one advertising campaign overanother, and may optimize the allocation so as to avoid an unbalanceddistribution of inventory among advertisers.

The foregoing will be apparent from the following description of exampleembodiments and implementations, as illustrated in the accompanyingdrawings in which like reference characters refer to the same partsthroughout the different views. The drawings are illustrative of thesystems and methods described herein and are not to be interpreted aslimiting.

FIG. 1 shows a high level diagram of an audience management system inaccordance with some embodiments of the disclosure. System 100 includesaudience management platform 102, which is implemented on a userequipment device or a server, as will be discussed further with regardto FIGS. 3 and 4. Audience management platform 102 ingests viewershipand third party segmentation data received from viewership data source104, which includes second-by-second or similarly granular viewershipdata from all available viewers, segmentation targeting data matchedagainst such viewership data and/or additional processed viewershippanel metrics from providers such as Nielsen or Rentrak, to build amodel of available audience impressions and behavior. Sales historysource 106 provides a feed or batched transfer of sales history from theinventory owner's traffic system that is transferred to audiencemanagement platform 102, and may include data on each unit sold, theunit price, advertiser and relevant categories or rate codes, andpresent inventory availability levels. These inputs are used to projectsellout rates and cost-per-thousand impressions (CPMs) for present andfuture inventory blocks. Using this data received from sales historysource 106, combined with set-top impression and targeting data receivedfrom viewership data source 102, audience management platform 102 allowsa user to manage and optimize which blocks of inventory are availablefor audience sales and set pricing. These functions can help theinventory increase revenue by maximizing yield between traditionallinear sales models and the present invention's data driven mediaplacement model.

Using console 114, which can be a web-based console or other interfacethat enables access to audience management platform 102, users cancreate an optimized media plan based on an input that can include theadvertiser's desired target (typically defined by one or more attributesfrom a third party data source and/or a viewership or other behavior),impression delivery goals, reach to target audience, budget constraints,and a media plan external to the systems. Once a proposal has beenapproved by the inventory owner, the advertiser, or user of the system,audience management platform 102 generates traffic orders using trafficorder module 112 to process through media traffic system 108 via datapath 110. For example, traffic system 108 may be the inventory owner'smedia traffic system (e.g. the NOVAR system). With multiple advertisersin the system, traffic order module 112 will optimize across advertisersand produce traffic orders that maximize revenue or such otherparameters dictated by the system user (e.g., sell out rates, breadth ofmedia plan across multiple networks, etc.). As an advertiser's order isexecuted and media is placed, the verified results are picked up by thesystem through the data transfer discussed in regard to sales historysource 106. The system will then adjust future order output to completethe contracted audience delivery for the advertiser.

System 100 may receive inputs from a user through console 114 using asuitable interactive interface application, which may take various formsdepending on the options provided to a user of console 114. Interactiveinterface applications may generate graphical user interface screensthat enable a user to navigate among, locate, and select various optionssuch inventory selections, weighting values, price setting, andoptimization settings used in conjunction with data driven mediaplacement. As referred to herein, the terms “media content” and “media”should be understood to mean an electronically consumable user asset,such as television programming, as well as pay-per-view programs,on-demand programs (as in video-on-demand (VOD) systems), Internetcontent (e.g., streaming content, downloadable content, Webcasts, etc.),video clips, audio, content information, pictures, rotating images,documents, playlists, websites, articles, books, electronic books,blogs, advertisements, chat sessions, social media, applications, games,and/or any other media or multimedia and/or combination of the same.

The interactive interface applications and/or any instructions forperforming any of the embodiments described herein may be encoded oncomputer readable media. Computer readable media includes any mediacapable of storing data. The computer readable media may be transitory,including, but not limited to, propagating electrical or electromagneticsignals, or may be non-transitory including, but not limited to,volatile and non-volatile computer memory or storage devices such as ahard disk, floppy disk, USB drive, DVD, CD, media cards, registermemory, processor caches, Random Access Memory (“RAM”), etc.

As referred to herein, the phrase “user equipment device,” “userequipment,” “user device,” “electronic device,” “electronic equipment,”“media equipment device,” or “media device” should be understood to meanany device for accessing, viewing, selecting options, or any combinationthereof, including, but not limited to, a television, a Smart TV, aset-top box, an integrated receiver decoder (IRD) for handling satellitetelevision, a digital storage device, a digital media receiver (DMR), adigital media adapter (DMA), a streaming media device, a DVD player, aDVD recorder, a connected DVD, a local media server, a BLU-RAY player, aBLU-RAY recorder, a personal computer (PC), a laptop computer, a tabletcomputer, a WebTV box, a personal computer television (PC/TV), a PCmedia server, a PC media center, a hand-held computer, a stationarytelephone, a personal digital assistant (PDA), a mobile telephone, aportable video player, a portable music player, a portable gamingmachine, a smart phone, or any other television equipment, computingequipment, or wireless device, and/or combination of the same. It is tobe understood that any of the foregoing devices may be used by anadvertiser, inventory owner, publisher, or any user of the audiencemanagement system to perform the methods or operate the systemsdescribed herein.

In some embodiments, the user equipment device may have a front facingscreen and a rear facing screen, multiple front screens, or multipleangled screens. In some embodiments, the user equipment device may havea front facing camera and/or a rear facing camera. The user equipmentdevice may be configured to implement an interactive interfaceapplication. The interactive interface application may be provided ason-line applications (i.e., provided on a web-site), or as stand-aloneapplications or clients on user equipment devices. Various devices andplatforms that may implement interactive interface applications aredescribed in more detail below.

FIG. 2 is a block diagram of an illustrative user equipment device usedin accordance with some embodiments of the disclosure. Users may accesscontent and the interactive interface application (and its displayscreens described above and below) from one or more of their userequipment devices. A generalized embodiment of illustrative userequipment device 200 is shown in FIG. 2. More specific implementationsof user equipment devices in the context of an audience managementsystem are discussed below in connection with FIG. 3. User equipmentdevice 200 may receive content and data via input/output (hereinafter“I/O”) path 202. I/O path 202 may provide content (e.g., broadcastprogramming, on-demand programming, Internet content, content availableover a local area network (LAN) or wide area network (WAN), and/or othercontent) and data to control circuitry 204, which includes processingcircuitry 206 and storage 208. Control circuitry 204 may be used to sendand receive commands, requests, and other suitable data using I/O path202. I/O path 302 may connect control circuitry 204 (and specificallyprocessing circuitry 206) to one or more communications paths (describedbelow). I/O functions may be provided by one or more of thesecommunications paths, but are shown as a single path in FIG. 3 to avoidovercomplicating the drawing.

Control circuitry 204 may be based on any suitable processing circuitrysuch as processing circuitry 206. As referred to herein, processingcircuitry should be understood to mean circuitry based on one or moremicroprocessors, microcontrollers, digital signal processors,programmable logic devices, field-programmable gate arrays (FPGAs),application-specific integrated circuits (ASICs), etc., and may includea multi-core processor (e.g., dual-core, quad-core, hexa-core, or anysuitable number of cores) or supercomputer. Any component describedherein that is used in the audience management system (e.g. usertelevision equipment, a PC, a laptop, wireless portable devices, a mediacontent server, a media guidance server, a user profile server, anaudience management module, etc.), may have its own control circuitry204 and processing circuitry 206. In some embodiments, processingcircuitry may be distributed across multiple separate processors orprocessing units, for example, multiple of the same type of processingunits (e.g., two Intel Core i7 processors) or multiple differentprocessors (e.g., an Intel Core i5 processor and an Intel Core i7processor). In some embodiments, control circuitry 204 executesinstructions for a interactive interface application stored in memory(i.e., storage 208). Specifically, control circuitry 204 may beinstructed by the interactive interface application to perform thefunctions discussed above and below. For example, the interactiveinterface application may provide instructions to control circuitry 204to generate the media guidance displays. In some implementations, anyaction performed by control circuitry 204 may be based on instructionsreceived from the interactive interface application.

In client-server based embodiments, control circuitry 204 may includecommunications circuitry suitable for communicating with a guidanceapplication server or other networks or servers. The instructions forcarrying out the above mentioned functionality may be stored on theguidance application server.

Communications circuitry may include a cable modem, an integratedservices digital network (ISDN) modem, a digital subscriber line (DSL)modem, a telephone modem, Ethernet card, or a wireless modem forcommunications with other equipment, or any other suitablecommunications circuitry. Such communications may involve the Internetor any other suitable communications networks or paths (which isdescribed in more detail in connection with FIG. 3). In addition,communications circuitry may include circuitry that enables peer-to-peercommunication of user equipment devices, or communication of userequipment devices in locations remote from each other (described in moredetail below).

Memory may be an electronic storage device provided as storage 208 thatis part of control circuitry 204. As referred to herein, the phrase“electronic storage device” or “storage device” should be understood tomean any device for storing electronic data, computer software, orfirmware, such as random-access memory, read-only memory, hard drives,optical drives, digital video disc (DVD) recorders, compact disc (CD)recorders, BLU-RAY disc (BD) recorders, BLU-RAY 3D disc recorders,digital video recorders (DVR, sometimes called a personal videorecorder, or PVR), solid state devices, quantum storage devices, gamingconsoles, gaming media, or any other suitable fixed or removable storagedevices, and/or any combination of the same. Storage 208 may be used tostore various types of content described herein as well as mediaguidance information, described above, and guidance application data,described above. Nonvolatile memory may also be used (e.g., to launch aboot-up routine and other instructions). Cloud-based storage, describedin relation to FIG. 3, may be used to supplement storage 208 or insteadof storage 208.

Control circuitry 204 may include video generating circuitry and tuningcircuitry, such as one or more analog tuners, one or more MPEG-2decoders or other digital decoding circuitry, high-definition tuners, orany other suitable tuning or video circuits or combinations of suchcircuits. Encoding circuitry (e.g., for converting over-the-air, analog,or digital signals to MPEG signals for storage) may also be provided.

Control circuitry 204 may also include scaler circuitry for upconvertingand downconverting content into the preferred output format of the userequipment 200. Circuitry 204 may also include digital-to-analogconverter circuitry and analog-to-digital converter circuitry forconverting between digital and analog signals. The tuning and encodingcircuitry may be used by the user equipment device to receive and todisplay, to play, or to record content. The tuning and encodingcircuitry may also be used to receive guidance data. The circuitrydescribed herein, including for example, the tuning, video generating,encoding, decoding, encrypting, decrypting, scaler, and analog/digitalcircuitry, may be implemented using software running on one or moregeneral purpose or specialized processors. Multiple tuners may beprovided to handle simultaneous tuning functions (e.g., watch and recordfunctions, picture-in-picture (PIP) functions, multiple-tuner recording,etc.). If storage 208 is provided as a separate device from userequipment 200, the tuning and encoding circuitry (including multipletuners) may be associated with storage 208.

A user may send instructions to control circuitry 204 using user inputinterface 210. User input interface 210 may be any suitable userinterface, such as a remote control, mouse, trackball, keypad, keyboard,touch screen, touchpad, stylus input, joystick, voice recognitioninterface, or other user input interfaces. Display 212 may be providedas a stand-alone device or integrated with other elements of userequipment device 200. Display 212 may be one or more of a monitor, atelevision, a liquid crystal display (LCD) for a mobile device, or anyother suitable equipment for displaying visual images. In someembodiments, display 212 may be HDTV-capable. In some embodiments,display 212 may be a 3D display, and the interactive interfaceapplication and any suitable content may be displayed in 3D. A videocard or graphics card may generate the output to the display 212. Thevideo card may offer various functions such as accelerated rendering of3D scenes and 2D graphics, MPEG-2/MPEG-4 decoding, TV output, or theability to connect multiple monitors. The video card may be anyprocessing circuitry described above in relation to control circuitry204. The video card may be integrated with the control circuitry 204.Speakers 214 may be provided as integrated with other elements of userequipment device 200 or may be stand-alone units. The audio component ofvideos and other content displayed on display 212 may be played throughspeakers 214. In some embodiments, the audio may be distributed to areceiver (not shown), which processes and outputs the audio via speakers214.

The guidance application may be implemented using any suitablearchitecture. For example, it may be a stand-alone application whollyimplemented on user equipment device 200. In such an approach,instructions of the application are stored locally, and data for use bythe application is downloaded on a periodic basis (e.g., from anout-of-band feed, from an Internet resource, or using another suitableapproach). In some embodiments, the interactive interface application isa client-server based application. Data for use by a thick or thinclient implemented on user equipment device 200 is retrieved on-demandby issuing requests to a server remote to the user equipment device 200.In one example of a client-server based guidance application, controlcircuitry 204 runs a web browser that interprets web pages provided by aremote server.

In some embodiments, the interactive interface application is downloadedand interpreted or otherwise run by an interpreter or virtual machine(run by control circuitry 204). In some embodiments, the guidanceapplication may be encoded in the ETV Binary Interchange Format (EBIF),received by control circuitry 204 as part of a suitable feed, andinterpreted by a user agent running on control circuitry 204. Forexample, the guidance application may be an EBIF application. In someembodiments, the guidance application may be defined by a series ofJAVA-based files that are received and run by a local virtual machine orother suitable middleware executed by control circuitry 204. In some ofsuch embodiments (e.g., those employing MPEG-2 or other digital mediaencoding schemes), the guidance application may be, for example, encodedand transmitted in an MPEG-2 object carousel with the MPEG audio andvideo packets of a program.

FIG. 3 is a block diagram of an illustrative device network for anaudience management system in accordance with some embodiments of thedisclosure. User equipment device 200 of FIG. 2 can be implemented inaudience management system 300 of FIG. 3 as user television equipment302, user computer equipment 304, wireless user communications device306, or any other type of user equipment suitable for accessing content,such as a non-portable gaming machine. For simplicity, these devices maybe referred to herein collectively as user equipment or user equipmentdevices, and may be substantially similar to user equipment devicesdescribed above. User equipment devices, on which an interactiveinterface application may be implemented, may function as a standalonedevice or may be part of a network of devices. Various networkconfigurations of devices may be implemented and are discussed in moredetail below.

A user equipment device utilizing at least some of the system featuresdescribed above in connection with FIG. 2 may not be classified solelyas user television equipment 302, user computer equipment 304, or awireless user communications device 306. For example, user televisionequipment 302 may, like some user computer equipment 304, beInternet-enabled allowing for access to Internet content, while usercomputer equipment 304 may, like some television equipment 302, includea tuner allowing for access to television programming. The interactiveinterface application may have the same layout on various differenttypes of user equipment or may be tailored to the display capabilitiesof the user equipment. For example, on user computer equipment 304, theguidance application may be provided as a web site accessed by a webbrowser. In another example, the guidance application may be scaled downfor wireless user communications devices 306.

In audience management system 300, there is typically more than one ofeach type of user equipment device but only one of each is shown in FIG.3 to avoid overcomplicating the drawing. In addition, each user mayutilize more than one type of user equipment device and also more thanone of each type of user equipment device.

In some embodiments, a user equipment device (e.g., user televisionequipment 302, user computer equipment 304, wireless user communicationsdevice 306) may be referred to as a “second screen device.” For example,a second screen device may supplement content presented on a first userequipment device. The content presented on the second screen device maybe any suitable content that supplements the content presented on thefirst device. In some embodiments, the second screen device provides aninterface for adjusting settings and display preferences of the firstdevice. In some embodiments, the second screen device is configured forinteracting with other second screen devices or for interacting with asocial network. The second screen device can be located in the same roomas the first device, a different room from the first device but in thesame house or building, or in a different building from the firstdevice.

The user may also set various settings to maintain consistentinteractive interface application settings across in-home devices andremote devices. Settings include those described herein, as well aschannel and program favorites, programming preferences that the guidanceapplication utilizes to make programming recommendations, displaypreferences, and other desirable guidance settings. For example, if auser sets a channel as a favorite on, for example, the web sitewww.allrovi.com on their personal computer at their office, the samechannel would appear as a favorite on the user's in-home devices (e.g.,user television equipment and user computer equipment) as well as theuser's mobile devices, if desired. Therefore, changes made on one userequipment device can change the guidance experience on another userequipment device, regardless of whether they are the same or a differenttype of user equipment device. In addition, the changes made may bebased on settings input by a user, as well as user activity monitored bythe guidance application.

The user equipment devices may be coupled to communications network 314.Namely, user television equipment 302, user computer equipment 304, andwireless user communications device 306 are coupled to communicationsnetwork 314 via communications paths 308, 310, and 312, respectively.Communications network 314 may be one or more networks including theInternet, a mobile phone network, mobile voice or data network (e.g., a4G or LTE network), cable network, public switched telephone network, orother types of communications network or combinations of communicationsnetworks. Paths 308, 310, and 312 may separately or together include oneor more communications paths, such as, a satellite path, a fiber-opticpath, a cable path, a path that supports Internet communications (e.g.,IPTV), free-space connections (e.g., for broadcast or other wirelesssignals), or any other suitable wired or wireless communications path orcombination of such paths.

Path 312 is drawn with dotted lines to indicate that in the exemplaryembodiment shown in FIG. 3 it is a wireless path and paths 308 and 310are drawn as solid lines to indicate they are wired paths (althoughthese paths may be wireless paths, if desired). Communications with theuser equipment devices may be provided by one or more of thesecommunications paths, but are shown as a single path in FIG. 3 to avoidovercomplicating the drawing.

Although communications paths are not drawn between user equipmentdevices, these devices may communicate directly with each other viacommunication paths, such as those described above in connection withpaths 308, 310, and 312, as well as other short-range point-to-pointcommunication paths, such as USB cables, IEEE 1394 cables, wirelesspaths (e.g., Bluetooth, infrared, IEEE 802-11x, etc.), or othershort-range communication via wired or wireless paths. BLUETOOTH is acertification mark owned by Bluetooth SIG, INC. The user equipmentdevices may also communicate with each other directly through anindirect path via communications network 314.

Audience management system 300 includes content source 316 and mediaguidance data source 318 coupled to communications network 314 viacommunication paths 320 and 322, respectively. Paths 320 and 322 mayinclude any of the communication paths described above in connectionwith paths 308, 310, and 312. Communications with the content source 316and media guidance data source 318 may be exchanged over one or morecommunications paths, but are shown as a single path in FIG. 3 to avoidovercomplicating the drawing. Content source 316 may be any type ofmedia content provider or service provider, and be capable of providingmedia recommendations to any user equipment device over communicationsnetwork 314. In addition, there may be more than one of each of contentsource 316 and media guidance data source 318, but only one of each isshown in FIG. 3 to avoid overcomplicating the drawing. (The differenttypes of each of these sources are discussed below.)

If desired, content source 316 and media guidance data source 318 may beintegrated as one source device. Although communications between sources316 and 318 with user equipment devices 302, 304, and 306 are shown asthrough communications network 314, in some embodiments, sources 316 and318 may communicate directly with user equipment devices 302, 304, and306 via communication paths (not shown) such as those described above inconnection with paths 308, 310, and 312.

Content source 316 may include one or more types of content distributionequipment including a television distribution facility, cable systemheadend, satellite distribution facility, programming sources (e.g.,television broadcasters, such as NBC, ABC, HBO, etc.), intermediatedistribution facilities and/or servers, Internet providers, on-demandmedia servers, and other content providers. NBC is a trademark owned bythe National Broadcasting Company, Inc., ABC is a trademark owned by theAmerican Broadcasting Company, Inc., and HBO is a trademark owned by theHome Box Office, Inc. Content source 316 may be the originator ofcontent (e.g., a television broadcaster, a Webcast provider, etc.) ormay not be the originator of content (e.g., an on-demand contentprovider, an Internet provider of content of broadcast programs fordownloading, etc.). Content source 316 may include cable sources,satellite providers, on-demand providers, Internet providers,over-the-top content providers, or other providers of content. Contentsource 316 may also include a remote media server used to storedifferent types of content (including video content selected by a user),in a location remote from any of the user equipment devices. Systems andmethods for remote storage of content, and providing remotely storedcontent to user equipment are discussed in greater detail in connectionwith Ellis et al., U.S. Pat. No. 7,761,892, issued Jul. 20, 2010, whichis hereby incorporated by reference herein in its entirety.

Media guidance data source 418 may provide media guidance data, such asthe media guidance data described above. Interactive interfaceapplication data may be provided to the user equipment devices using anysuitable approach. In some embodiments, the guidance application may bea stand-alone interactive television program guide that receives programguide data via a data feed (e.g., a continuous feed or trickle feed).Program schedule data and other guidance data may be provided to theuser equipment on a television channel sideband, using an in-banddigital signal, using an out-of-band digital signal, or by any othersuitable data transmission technique. Program schedule data and othermedia guidance data may be provided to user equipment on multiple analogor digital television channels.

In some embodiments, guidance data from media guidance data source 318may be provided to users' equipment using a client-server approach. Forexample, a user equipment device may pull media guidance data from aserver, or a server may push media guidance data to a user equipmentdevice. In some embodiments, a guidance application client residing onthe user's equipment may initiate sessions with source 318 to obtainguidance data when needed, e.g., when the guidance data is out of dateor when the user equipment device receives a request from the user toreceive data. Media guidance may be provided to the user equipment withany suitable frequency (e.g., continuously, daily, a user-specifiedperiod of time, a system-specified period of time, in response to arequest from user equipment, etc.). Media guidance data source 318 mayprovide user equipment devices 302, 304, and 306 the interactiveinterface application itself or software updates for the interactiveinterface application.

User profile information including user settings, user personalization,user preference, and user media content information may be stored onuser equipment devices and/or on user profile server 324. User profileserver 324 may be in communication with user equipment devices 302, 304and 306 through communications path 326 and communications network 314.User profile server 324 may include storage devices for storing userprofile information associated with user media networks. User profileserver 324 may also include storage devices for storing media contentinformation associated with user media networks including recordings ofmedia content and/or lists of selected media content. User profileserver 324 may include processors and communications circuits formanaging user profile information, remotely controlling andcommunicating with user equipment devices, and exchanging user profileinformation with user equipment devices. Media content source 316 maycommunicate with user profile service 324 to obtain information on aparticular user to which media recommendations may be sent, or may haveits own user profile server for maintaining user profile information.

Interactive interface applications may be, for example, stand-aloneapplications implemented on user equipment devices. For example, theinteractive interface application may be implemented as software or aset of executable instructions which may be stored in storage 208, andexecuted by control circuitry 204 of user equipment device 200. In someembodiments, interactive interface applications may be client-serverapplications where only a client application resides on the userequipment device, and server application resides on a remote server. Forexample, interactive interface applications may be implemented partiallyas a client application on control circuitry 204 of user equipmentdevice 200 and partially on a remote server as a server application(e.g., media guidance data source 318) running on control circuitry ofthe remote server. When executed by control circuitry of the remoteserver (such as media guidance data source 318), the interactiveinterface application may instruct the control circuitry to generate theguidance application displays and transmit the generated displays to theuser equipment devices. The server application may instruct the controlcircuitry of the media guidance data source 318 to transmit data forstorage on the user equipment. The client application may instructcontrol circuitry of the receiving user equipment to generate theguidance application displays.

Content and/or media guidance data delivered to user equipment devices302, 304, and 306 may be over-the-top (OTT) content. OTT contentdelivery allows Internet-enabled user devices, including any userequipment device described above, to receive content that is transferredover the Internet, including any content described above, in addition tocontent received over cable or satellite connections. OTT content isdelivered via an Internet connection provided by an Internet serviceprovider (ISP), but a third party distributes the content. The ISP maynot be responsible for the viewing abilities, copyrights, orredistribution of the content, and may only transfer IP packets providedby the OTT content provider. Examples of OTT content providers includeYOUTUBE, NETFLIX, and HULU, which provide audio and video via IPpackets. Youtube is a trademark owned by Google Inc., Netflix is atrademark owned by Netflix Inc., and Hulu is a trademark owned by Hulu,LLC. OTT content providers may additionally or alternatively providemedia guidance data described above. In addition to content and/or mediaguidance data, providers of OTT content can distribute interactiveinterface applications (e.g., web-based applications or cloud-basedapplications), or the content can be displayed by interactive interfaceapplications stored on the user equipment device.

Audience management system 300 is intended to illustrate a number ofapproaches, or network configurations, by which user equipment devicesand sources of content and guidance data may communicate with each otherfor the purpose of accessing content and providing media guidance. Theembodiments described herein may be applied in any one or a subset ofthese approaches, or in a system employing other approaches fordelivering content and providing media guidance. The following fourapproaches provide specific illustrations of the generalized example ofFIG. 3.

In one approach, user equipment devices may communicate with each otherwithin a home network. User equipment devices can communicate with eachother directly via short-range point-to-point communication schemesdescribed above, via indirect paths through a hub or other similardevice provided on a home network, or via communications network 314.Each of the multiple individuals in a single home may operate differentuser equipment devices on the home network. As a result, it may bedesirable for various media guidance information or settings to becommunicated between the different user equipment devices. For example,it may be desirable for users to maintain consistent interactiveinterface application settings on different user equipment deviceswithin a home network, as described in greater detail in Ellis et al.,U.S. patent application Ser. No. 11/179,410, filed Jul. 11, 2005.Different types of user equipment devices in a home network may alsocommunicate with each other to transmit content. For example, a user maytransmit content from user computer equipment to a portable video playeror portable music player.

In a second approach, users may have multiple types of user equipment bywhich they access content and obtain media guidance. For example, someusers may have home networks that are accessed by in-home and mobiledevices. Users may control in-home devices via a interactive interfaceapplication implemented on a remote device. For example, users mayaccess an online interactive interface application on a website via apersonal computer at their office, or a mobile device such as a PDA orweb-enabled mobile telephone. The user may set various settings (e.g.,recordings, reminders, or other settings) on the online guidanceapplication to control the user's in-home equipment. The online guidemay control the user's equipment directly, or by communicating with ainteractive interface application on the user's in-home equipment.Various systems and methods for user equipment devices communicating,where the user equipment devices are in locations remote from eachother, is discussed in, for example, Ellis et al., U.S. Pat. No.8,046,801, issued Oct. 25, 2011, which is hereby incorporated byreference herein in its entirety.

In a third approach, users of user equipment devices inside and outsidea home can use their interactive interface application to communicatedirectly with content source 316 to access content. Specifically, withina home, users of user television equipment 302 and user computerequipment 304 may access the interactive interface application tonavigate among and locate desirable content. Users may also access theinteractive interface application outside of the home using wirelessuser communications devices 306 to navigate among and locate desirablecontent.

In a fourth approach, user equipment devices may operate in a cloudcomputing environment to access cloud services. In a cloud computingenvironment, various types of computing services for content sharing,storage or distribution (e.g., video sharing sites or social networkingsites) are provided by a collection of network-accessible computing andstorage resources, referred to as “the cloud.” For example, the cloudcan include a collection of server computing devices, which may belocated centrally or at distributed locations, that provide cloud-basedservices to various types of users and devices connected via a networksuch as the Internet via communications network 314. These cloudresources may include one or more content sources 316 and one or moremedia guidance data sources 318. In addition or in the alternative, theremote computing sites may include other user equipment devices, such asuser television equipment 302, user computer equipment 304, and wirelessuser communications device 306. For example, the other user equipmentdevices may provide access to a stored copy of a video or a streamedvideo. In such embodiments, user equipment devices may operate in apeer-to-peer manner without communicating with a central server.

The cloud provides access to services, such as content storage, contentsharing, or social networking services, among other examples, as well asaccess to any content described above, for user equipment devices.Services can be provided in the cloud through cloud computing serviceproviders, or through other providers of online services. For example,the cloud-based services can include a content storage service, acontent sharing site, a social networking site, or other services viawhich user-sourced content is distributed for viewing by others onconnected devices. These cloud-based services may allow a user equipmentdevice to store content to the cloud and to receive content from thecloud rather than storing content locally and accessing locally-storedcontent.

A user may use various content capture devices, such as camcorders,digital cameras with video mode, audio recorders, mobile phones, andhandheld computing devices, to record content. The user can uploadcontent to a content storage service on the cloud either directly, forexample, from user computer equipment 304 or wireless usercommunications device 306 having content capture feature. Alternatively,the user can first transfer the content to a user equipment device, suchas user computer equipment 304. The user equipment device storing thecontent uploads the content to the cloud using a data transmissionservice on communications network 314. In some embodiments, the userequipment device itself is a cloud resource, and other user equipmentdevices can access the content directly from the user equipment deviceon which the user stored the content.

Cloud resources may be accessed by a user equipment device using, forexample, a web browser, a interactive interface application, a desktopapplication, a mobile application, and/or any combination of accessapplications of the same. The user equipment device may be a cloudclient that relies on cloud computing for application delivery, or theuser equipment device may have some functionality without access tocloud resources. For example, some applications running on the userequipment device may be cloud applications, i.e., applications deliveredas a service over the Internet, while other applications may be storedand run on the user equipment device. In some embodiments, a user devicemay receive content from multiple cloud resources simultaneously. Forexample, a user device can stream audio from one cloud resource whiledownloading content from a second cloud resource. Or a user device candownload content from multiple cloud resources for more efficientdownloading. In some embodiments, user equipment devices can use cloudresources for processing operations such as the processing operationsperformed by processing circuitry described in relation to FIG. 2.

FIG. 4 is a diagram illustrating a workflow process in building a datadriven media plan in accordance with some embodiments of the disclosure.Workflow process 400 illustrates the perspective of a user of audiencemanagement system 300 in building a data driven media placement plan.When creating a media plan for a new advertiser or campaign, the usercan first create a new account and/or campaign for that advertiser atstep 402. In some embodiments, the user may operate audience managementmodule 328 using an interactive interface application on user equipmentdevice 200, which receives inputs via user input interface 310. In someembodiments, audience management module 328 may be operated from anyother suitable user equipment device located remotely that communicateswith audience management module 328 through communications network 314,for example, a device using a web interface. The user may be, forexample, an advertiser, an inventory owner, or a third party acting onbehalf of the advertiser.

Once the account is created, the process proceeds to step 404. At step404, the user identifies a target segment to be used for the media planthat identifies a group of viewers or households with certaincharacteristics to be targeted through the system. These may includespecific target segments created by third parties available to audiencemanagement system 300 and matched with the viewership data or behavioralsegments accessible through audience management system 300 or created bythe user. For example, a media content source, such as NBC, may be ableto provide a pre-defined target segment, such as “has viewed SaturdayNight Live 3 times in the last 6 months”, to the user. In someembodiments, audience management module 328 may query media contentsource 316 to retrieve a list of pre-defined target segments based onviewership data. In some embodiments, audience management module 328 mayquery user profile server 324 to retrieve viewership data to enable theuser to produce his/her own target segments. In addition, unions orintersections of existing targets may be defined as new targets using atarget creation function of the audience management module 328.

Once the user has established one or more target segments that he/shewould like to reach in the advertising campaign, the process may thenproceed to step 406. In step 406, the user may utilize placementfunctions of audience management module 328 that enable the user tobuild an optimized media plan to reach the earlier established targetsegments established. The term “placement” should be understood to meanthe adding or allocation of inventory, such as in the form of availableadvertising slots, to an advertising campaign of an advertiser, suchthat advertising media is made available to an audience within ascheduled time period upon execution of the advertising campaign. Insome embodiments, placement functions may relate setting campaign goalsand parameters, such as total impressions, budget constraints, inventoryrestrictions, reach, frequency, or any suitable combination thereof, aswill be described in greater detail with respect to FIGS. 13 and 14. Insome embodiments, step 328 may be an iterative process performed byprocessing circuitry 206 of advertising management module 328. Forexample, the placement function, as performed by audience managementmodule 328, may change or optimize media placements for a given planbased on modifications made or weighted parameters set by the user tothe campaigns goals and parameters, as will be discussed in greaterdetail with respect to FIGS. 13 and 14. The user may review the mediaplan placement and decide that advertising on or with a particularcontent source (e.g. a website or television channel) may be moreeffective than others, and then assign or re-assign a relatively highweight value to that channel. Once the user's changes have been entered,the placement process may repeat based on these changes until the userindicates that he/she is satisfied with the placement results.

Once a media plan is created by the placement function and approved bythe user, the process then proceeds to step 408. Step 408 may beoptionally performed in the scenario in which the user is not theadvertiser, but is acting on behalf of the advertiser. At step 408, theuser will be able to generate a proposal to share with the advertiser.Proposals are formatted reports that provide a summary of the goals andmedia being delivered for the campaign, and may be transferred to adevice of the advertiser over communications network 314. If theadvertiser requests changes to the proposal/campaign, the placementfunction will allow the user to make updates to the campaign parameters,save a new version and generate a new proposal. In some embodiments, theuser may authorize access to the advertiser to edit the parameters ofthe media plan directly, for example, through a web interface. In someembodiments, the proposal may be in the form of an interactive interfaceapplication implemented on a user equipment device of the advertiser.For example, the advertiser may be able to view the parameters andproposed media plan in the interactive interface application. In someembodiments, the advertiser may propose changes to the parameters of theproposed media plan, and simulate the placement function in order to seehow the advertiser's proposed changes affect the media plan.

If the advertiser and/or user are satisfied with the media planprojections made using the placement function, the user may then savethe current state of the media plan and proposal, for example, bystoring the media plan and proposal in storage 208 of audiencemanagement module 328. The process proceeds to step 410. At step 410,audience management module 328 generates a specific set of advertisementplacements in accordance with available advertising slots, or spots, forparticular content providers. These placements are based on theoptimization parameters discussed in connection with the variousembodiments disclosed herein. In some embodiments, the placement mayrequire a specific time to run the advertisement. In some embodiments,the placement may designate a time period for running the advertisement,and a “fuzzy” schedule may be generated in which the advertisement isrequired to appear within the time period, but at a specific timedesignated by the content source that runs the advertisement.Concurrently with step 410, or alternatively, the order may betransferred to and ingested by a traffic/promotion scheduling system instep 412.

The process proceeds to step 414. At step 414, media placements for theadvertiser are executed via the traffic system and ad inserters as theadvertisement is placed. The process then proceeds to step 416, wherethe verified placements are fed back into the system via verification oras-run logs. Using this data and collected viewership data, audiencemanagement module 328 can update estimates of audience for theplacements with actual verified impression delivery, and will updatefuture placements based on performance to-date. Audience managementmodule 328 then provides the user with the ability to generate reportson actual delivery metrics based on verified spot placements againstimpressions calculated from set-top impressions, as accessible throughcommunications network 314.

FIG. 5 is a diagram illustrating how available inventory is projected inaccordance with some embodiments of the disclosure. System 500 may be asubsystem implemented within communications network 314. Data on pastsales from the inventory owner's traffic system is received fromtraffic/sales system 502, and is ingested and stored in database 504 tocreate a warehouse of past sales data for analysis. Historical data onunit sales, past and projected audience estimates from database 506, andprogram schedule data from database 508 are transferred to module 510and are used with machine learning techniques to generate a predictivemodel for future sales. In some embodiments, the model is designed toestimate the number of units of inventory (e.g. individual advertisingslots) to be sold at each rate or rate code for future time periods.Sales estimates can be modeled at various grouping levels for a specificprogram, a time period (e.g. an hour or daypart), and a content sourcefor a given time period, and unit sales are analyzed for each contentsource and zone covered by the system. Once a model has been trained,the model is utilized by module 512 with inputs from future programmingschedules and future audience estimates to project inventory sold andavailable, which is stored in database 514. In some embodiments, currentinventory levels for the future are extracted from the data receivedfrom traffic/sales system 502 and optionally stored in database 516 andmay be used by module 512 to generate more accurate projections. Themodel is periodically re-trained and new estimates of inventoryavailability are generated as necessary. Projections created from themodel enable tier analysis and media planning with audience managementsystem 400.

In some embodiments, viewing data, which has been edited to removeviewing attributed to TV-off events or other boundary parameters, isaggregated by audience management module 328 into blocks bounded by thestart and end times of the programming being aired. A set of data fortraining the model is extracted from a superset of all edited viewingdata. This extracted data will include as much data as can be feasiblyprocessed by the model. In some embodiments, this extracted data is atleast a year's worth of data in order to include seasonal effects onviewership, although the system can operate effectively with less data.Using the extracted data, machine learning algorithms are applied togenerate a predictive model which uses the various attributes associatedwith relevant programming (e.g., start time, day of week, genre,keyword, local interest, lead-in status of the program, etc.) to predictthe average audience (average number of viewers) and total reach (totalunique viewers for that program over a period of time) for eachprogramming block. For example, in some embodiments, the audiencemanagement system may receive one or more inputs for use in estimatingdata associated with future audience inventory for media plans. In someembodiments, the received inputs may be used in conjunction with dataretrieved from other various sources, such as databases 604, 606, 652,and 654, as described below with respect to FIGS. 6A and 6B.

FIGS. 6A and 6B are diagrams illustrating how metrics are determined forinventory blocks for a media plan in accordance with some embodiments ofthe disclosure. Inventory analysis is conducted by aggregating inventoryinto blocks, where each block represents a particular future program,hour of the day, or daypart for a particular content source. Processes600 and 650 calculate metrics for each block available and projectedinventory, respectively, and add the metrics as attributes to thoseblocks of inventory so that they can be evaluated against rules createdby the user downstream.

In some embodiments, currently available inventory blocks are evaluatedby pulling data from various databases, including viewership database602 (which is filtered through module 608 to generate a universeprojection), third party metrics database 604, and sales database 606feed data to module 610. In some embodiments, projected inventory blocksare evaluated by pulling data from third party database 652 (in whichuniverse estimates may be generated by a third party) and inventorydatabase 654 (in which projected estimates for inventory availabilityare maintained) feed data to module 656. Depending on the scope of theinventory, the audience estimates used for metric calculations may bedifferent. For example, spot (unit) inventory from an individual zonewill require universe projections, and future estimates based on thepopulation of that zone. Spot (unit) inventory from an interconnect willrequire universe projections for the entire interconnect, while nationalinventory will require universe projections for the total carriage ofthe channel. In some embodiments, inventory analysis performed byaudience management module 328. In some embodiments, the metrics arecomputed via a third part and transmitted to audience management module328 over communications network 314.

Once the metrics are determined and audience information has beensuitably processed, audience management system 300 may provide a visualinterface (e.g. a media plan interface) to allow easily design and edita media plan.

FIG. 7 shows an illustrative media plan interface in accordance withsome embodiments of the disclosure. The media plan interface may bepresented to a user in the form of display 700, which corresponds to aninteractive interface application implemented on user equipment device200 using processing circuitry 206. The media plan interface allows theuser to input parameters remotely, using user input interface 210, whichare then transmitted to audience management module 328 overcommunications network 314. In some embodiments, audience managementmodule 328 may be implemented locally on user equipment device 200, forexample, the media plan is being generated by a user at an advertisingservice provider on behalf of an advertiser. Data relating to contentsources, time periods, inventory, projected inventory, pricing,historical viewership data, audience metrics and analytics provided toaudience management module 328 may be generated for display byprocessing circuitry 206 and appear in display 700.

Grid arrangement 702 contains a plurality of cells representative of aproposed media plan for placement of advertisements. In display 700,each cell contains representative audience data, and each cell maycorrespond to a particular inventory unit, such as an advertising slotfor a content source and a time period, as shown in FIG. 7. The cellsmay also have binary indicators, such as the presence or absence of abackground color, which indicates whether or not an advertising slotassociated with the cell is part of the proposed media plan (i.e.advertisement placement is desired/recommended). In some embodiments,the cells are arranged in a grid configuration according to a timeperiod axis 704 and a content source axis 706. In some embodiments, thecells may be arranged according to audience-related parameters, such asprojected audience size, projected impressions, audience demographics,or any suitable combination thereof. In some embodiments, a single cellmay be generated for display, or a single group of cells correspondingto a particular content source or time period may be displayed. Eachelement of time period axis 404 may correspond to a time period relevantto the advertising campaign, such as a week, a day, a daypart (such asearly morning, morning, daytime, etc., as depicted in display 700), orany other suitable time period relevant to an advertising schedule. Eachelement of content source axis 406 may correspond to a particularcontent source, such as a broadcast television channel (such as A&E,AMC, BET, etc., as depicted in display 700), on-demand channel, internetwebsite, or any other suitable content source.

Television advertising is merely illustrative, and the media plan neednot be limited to television or other electronic content sources. Forexample, audience management module 328 may be implemented in thecontext of advertising in general, such as newspaper, magazine,billboards, posters, or other suitable forms of advertising. In suchembodiments, display 700 may display a plurality of cells arrangedaccording to a particular advertising venue and a particular day of theweek for which the advertisement is to be run. For example, contentsource axis 406 may be replaceable by an axis indicative of a printedpublication, and time period axis 404 may be indicative of a particularpublication month.

In some embodiments, each content source or time period may have anassociated weight value. For example, weight options 708 and 714 appearbeside a content source and time period, respectively. Processingcircuitry 206 may receive user inputs to adjust a weight associated withthe content source or time period. In some embodiments, the value of“100” may indicate a default weight. The user has the option ofselecting different weights, which may affect a scoring algorithm, aswill be discussed in greater detail with respect to FIGS. 13 and 14.Changing a weight value can affect a group of cells associated with thecontent source or time period for which the weight value is changed. Forexample, if processing circuitry 206 receives a user input to change aweight value via weight option 708, all advertising slots associatedwith the channel “A&E” may have their associated weights changed. Insome embodiments, the user may manually fix a weight value of aparticular cell (advertising slot), which will remain unaffected inresponse to a user selection of a group-related weight option, such asweight option 708. A user selection of options 712 and 718 may causeweight options 708 and 714, respectively, to disappear from display 700,and may result in the respective weight values reverting back to theirdefault values.

In some embodiments, processing circuitry 206 may receive userselections of options 710 and 716, which provide increased granularityfor the content source or time period that each represents. In someembodiments, options 710 and 716 may appear in response to a userselection on a content source of content source axis 706 and a timeperiod of time period axis 704, respectively. For example, a selectionof option 710 may cause processing circuitry 206 to generate for displaycontent source related information within the cells in the rowcorresponding to option 710, such as the programs that will be airing orthe availability of advertising slots. In response to a user selectionof option 716, for example, processing circuitry 206 may generate fordisplay additional time period related information within the cells inthe column corresponding to option 716. Additional time period relatedinformation may include additional columns corresponding to the hourswithin a particular daypart, such as columns representing each of “5am”, “6 am”, and “lam” instead of a single column representing “EarlyMorning”.

If processing circuitry 206 receives a user selection of sort option726, rows of grid arrangement 702 may be sorted according to a propertyof the content sources within content source axis 706. For example,content sources may be sorted in forward or reverse alphabetical order,by popularity, by average cost to advertise, by assigned weight values,or by any other suitable quantity.

If processing circuitry 206 receives a user selection of time periodoption 724, processing circuitry 206 may generate for display a suitabletime period representation for time period axis 704. For example,display 700, as depicted in FIG. 7, shows the time periods as dayparts.A user selection of time period option 724 allows the user to select adesired time period format from a plurality of formats. For example, theuser may select hours, days, weeks, or define a custom range using userinput interface 210.

Density indicator 720 provides an indication to a user of the magnitudeor relative value of a visual indicator of an audience-relatedparameter. For example, density indicator 720, as depicted in FIG. 7,corresponds to a shading within each of the plurality of cells in gridarrangement 702. The shading may correspond to any number ofaudience-related parameters, such as audience composition, audienceindex, and projected or actual impressions. For example, in display 700,the shading in each of the plurality of cells corresponds to an audiencecomposition, which may be determined by viewership data provided to orretrieved by audience management module 328. The audience compositionmay be based on a target audience, as specified by the advertiser for aparticular advertising campaign, and the shading may represent to theadvertiser a relative ratio or index of how many audience members fall,or are projected to fall, within a particular target segment. In someembodiments, the user may adjust the scale of density indicator 720, ormay reset the scale to a default scale by selecting option 722. Inresponse to receiving a user selection of option 722, processingcircuitry 206 may determine a suitable range to scale the data, based onaudience-related data received from audience management module 328.

A user selection of zoom option 728 may result in a relative increase ordecrease in size of elements appearing in display 700, or a relativeincrease or decrease in granularity of the information appearing indisplay 700. Zoom option 728 may be implemented in any suitable fashion,such as a slider, buttons of various sizes, a percentage indicator, orany suitable combination thereof. In some embodiments, if the userslides zoom option 728 to the right, this may cause processing circuitry206 to increase the granularity of the information displayed by, forexample, replacing existing time period columns with time period columnscorresponding to shorter time periods. A display with increasedgranularity is discussed in greater detail with respect to FIG. 10.Display 700 may then also display information associated with theseshorter time periods, such as available advertising slots in those timeperiods and relevant audience-related parameters. To navigate toinformation that is not currently visible, processing circuitry 206 mayreceive a user selection of scroll options 730 and 732 to scroll thedisplay along content source axis 706 and time period axis 704,respectively. If processing circuitry 206 receives a user selection ofrefresh option 734, processing circuitry may retrieve updatedinformation from audience management module 328, and update the display700 with this information as necessary.

In some embodiments, processing circuitry 206 may receive a userselection of a cell of the plurality of cells in grid arrangement 700.Once the cell is selected, the user may take an action suggestive of aparticular function to execute with the respective cell. For example,using user input interface 210, the user may select an available optionthrough the interactive interface application implemented on userequipment device 200. The function may be executed locally or remotely.For example, if user equipment device 200 is located remotely fromaudience management module 328 and the function requires audiencemanagement module 328 to perform a placement function, the message maybe transmitted, along with any additional required information, fromuser equipment device 200 to audience management module 328. Afterexecuting the function, audience management module 328 may then transmitupdated information back to user equipment device 300 that reflects theresults of the placement function, and this updated information may thenbe generated for display by processing circuitry 206. The functionexecuted by processing circuitry 206 may be, for example, adding one ormore advertising slots to a media plan, removing one or more advertisingslots from media plan, displaying additional information for each cellin the form of pop-up overlay, generating for display media content froma corresponding content source, updating a weight value related to anassociated advertising slot of each of the selected cells, updating anaudience representation for each of the plurality of cells, transmittingan order to place advertisements, refreshing the display, assigning afixed price value to an advertising slot, or any other suitable functionin accordance with the embodiments described herein.

In some embodiments, functions may be performed locally on userequipment device 300. For example, a weight adjustment function, such asa user selection of option 708, may affect weight values stored locallyat user equipment device 300. The weight value, among other parameters,may be transmitted to audience management module 328 as needed, forexample, when a placement function is to be performed.

Advertising slots that have been added to or removed from the media planmay be visually distinguishable.

FIG. 8 shows a detailed view of advertising slots for an illustrativemedia plan interface in accordance with some embodiments of thedisclosure.

Similar to display 700 of FIG. 7, FIG. 8 shows reduced display 800,which includes grid arrangement 802 and time period axis 804. Each ofthe plurality of cells in grid arrangement 802 may correspond to aninventory slot (i.e. available advertising slot).

Cell 806 is representative of an advertising slot that has been added toan advertiser's media plan, or may be part of a proposed media plan forthe advertiser. Cell 806 includes background indicator 808, which may berepresentative of an audience-related parameter, such as audiencecomposition as in display 700. In addition to background indicator 808,bar 812 may also be indicative of the same audience-related parameter asbackground indicator 808, thereby providing the user with two types ofvisual indications. Bar 812 may scale the length of the cell 806, with aminimum and maximum bar length corresponding to a minimum and maximumvalue of the audience-related parameter. For example, the length of thebar may be indicative of a percentage of actual or projected viewersthat fall within a target segment (e.g. “Seinfeld fans ages 25-35”). Insome embodiments, bar 812 may be indicative of a different value thanbackground indicator 808. For example, bar 812 may be representative ofan audience size, in which zero width represents zero audienceavailable, and a maximum width represents 1.65 standard deviations abovea mean value of audience sizes represented. Beyond a particular audiencesize, bar 812 may max out at this value. This may provide an indicationto the user that the advertising slot represented by the cellcorresponds to a period in which a highly rated program was or will beaired.

Cell 806 also includes index indicator 810, which may be representativeof an actual or projected audience-related parameter, such as audienceindex (which relates to average audience size and variance),impressions, or gross rating points. In general, index indicator 810 mayrepresent any audience-related parameter that is not confined to a range(such as a percentage).

Cell 814 is representative of an advertising slot that has been not beenadded to, or has been removed from, an advertiser's media plan. When anavailable advertising slot is manually selected to be part of, orrecommended by audience management system 300 to be part of, anadvertising campaign, the advertising slot is referred to herein asbeing “part of the media plan”. Unlike cell 806, cell 814 is missing abackground indicator and an index indicator. Displaying a cell such thataudience-related parameters appear to be missing from the cell may serveas an indication to the user that the advertising slot corresponding tothe cell is not part of the media plan. Cell 814 still contains at leasta minimal amount of information, namely bar 816, which provides anindication of a relative audience size and/or composition. Any suitablemethod for displaying an indicator that a cell is part of or not part ofthe media plan may be used. For example, each of the plurality of cellsin grid arrangement 802 may all show representations of audiences in thesame way, but may contain an additional flag within each cell thatindicates whether or not the associated advertising slot is part of themedia plan, such as a border around the cell, a checkmark within thecell, a particular shading of the cell, or any suitable combinationthereof.

In some embodiments, the user may manually select a particular cell toadd or remove its associated advertising slot to the media plan. Forexample, processing circuitry 206 may receive a user selection of cell814 from display 800, which causes processing circuitry 206 to generatefor display a suitable indicator that cell 814 is selected. The user maythen select an “add” function, which adds the advertising slotassociated with cell 814 to the media plan. In response, cell 814 maythen take on a similar appearance to cell 806, and display a backgroundindicator and an index indicator. Once the advertising slot associatedwith cell 814 is added to the media plan, processing circuitry maygenerate a message to be communicated to audience management module 328that the advertising slot is to be added to the plan. In someembodiments, the manual addition of an advertising slot may override arecommended media plan generated by audience management module 328.

If processing circuitry 206 receives a user selection of, for example,cell 806 from display 800, processing circuitry 206 may generate fordisplay a suitable indicator that cell 806 is selected. Processingcircuitry 206 may receive a user selection of a “remove” function, whichremoves the advertising slot associated with cell 814 to the media plan.In response, cell 806 may then take on a similar appearance to cell 814,in which information is removed from the cell to indicate that it is nolonger part of the media plan. Once the advertising slot associated withcell 806 is removed from the media plan, processing circuitry maygenerate a message to be communicated to audience management module 328that the advertising slot is to be removed to the plan. In someembodiments, the manual removal of an advertising slot may override arecommended media plan generated by audience management module 328.

In some embodiments, the user may select multiple cells by manuallyselecting cells in succession. In some embodiments, processing circuitry206 may receive a user selection of a content source or a time period,which in turn causes processing circuitry 206 to select each cellassociated with the content source or time period. For example, a userselection of “Early Fringe” from time period axis 804 may causeprocessing circuitry 206 to select all cells in that column for thattime period, including cells 806 and 814. Processing circuitry 206 mayalso generate for display a suitable indicator for each of the selectedcells indicating that each cell is selected. Processing circuitry 206may then receive a user selection of a particular function to perform oneach of the selected cells. Processing circuitry 206 may execute afunction on each of the selected cells, such as adding all cells to themedia plan (unless they have been added already), removing all cellsfrom the media plan (unless they have been removed already), displayingadditional information for each cell in the form of pop-up overlay,updating a weight value related to an associated advertising slot ofeach of the selected cells, updating an audience representation for eachof the plurality of cells (for example, but receiving more currentaudience information from audience management module 328), assigning afixed price value, or any other suitable function in accordance with theembodiments described herein. It is to be understood that each of thesefunctions may also be executed on single cell in response to a userselection of a single cell.

In some embodiments, the user may desire to perform a placement functionon less than all available advertising slots. For example, processingcircuitry 206 may receive a user selection of a group of cells using anyof the method described herein, and indicate that a placement functionshould be performed on the group of cells. The placement function isperformed by audience management module 328, and will be described ingreater detail with respect to FIGS. 13 and 14. Performing the placementfunction on the group of cells may result in audience management module328 selecting a subset of cells from the group that are optimal forhelping the advertiser to achieve the desired campaign goals. Forexample, each cell of the group may be ranked based on audience-relatedinformation of the associated advertising slot of the cell, such asaudience size, projected impressions, audience composition,user-designated weights, total cost, or any other suitable parameterdescribed herein.

In some embodiments, only the highest ranked advertising slots will beadded to the media plan. Prior to performing the placement function, theuser may specify a weight value or budget limit such that cells areadded to the subset in a way that avoid exceeding the weight value orbudget limit. For example, audience management module 328 mayautomatically, without user input, add advertising slots to the subsetin order of highest rank, until the budget limit is exceeded by anyfurther additions. Each advertising slot may have an associated cost(e.g. CPM), which is used to determine a total budget for all associatedcells added to the subset. Processing circuitry 206 may then indicate tothe user, using any suitable indicator, which cells have beenautomatically selected by the placement function. The user may thenconfirm the selection of these cells for adding to the media plan, andprocessing circuitry 206 may then transmit this information back toaudience management module 328.

The media plan interface provides the user with additional viewingoptions to see information that is not shown in the default view.

FIG. 9 shows an illustrative media plan interface with a detailedinformation display in accordance with some embodiments of thedisclosure. Display 900 shows a plurality of cells that have been addedto a media plan. Cell 902 corresponds to an available advertising slotfor the content source “BRAVO” in the “Daytime” time period. Processingcircuitry 206 may receive a user selection of cell 902 using anysuitable method described herein. In some embodiments, the user mayhover a cursor over cell 902, which in turn may cause processingcircuitry 206 to generate for display additional information related tocell 902. In some embodiments, additional information for the cell maybe in the form of a video clip (e.g. a preview clip) of media contentavailable through a corresponding content source at a particular timeperiod (e.g. what is airing on the BRAVO channel during the daytime).

Display 900 shows additional information related to cell 902 displayedin the form of pop-up overlay 904. Pop-up overlay 904 containssource/time indicator 906, which indicates to the user the contentsource and time period to which cell 902 corresponds. Pop-up overlay 904contains information indicators 908, which may provide informationrelating to the media plan and audience-related parameters pertainingthe advertising slot associated with cell 902, the corresponding source,the corresponding time period, or any suitable combination thereof.Pop-up overlay 904 displays an indication of the audience compositionfor the associated advertising slot, an audience index related to arelative audience size, and a plan weight percentage for the contentsource “BRAVO” (indicating a total a relative amount of plan weight orbudget allocated to advertising slots in of that content source). Ingeneral, pop-up overlay 904 provides the user with information about theadvertising slot that is otherwise not shown in cell 902.

The media plan interface may provide additional options for adjustingparameters and viewing detailed information related to a media plan.

FIG. 10 shows weighting options for content sources and time periods foran illustrative media plan interface in accordance with some embodimentsof the disclosure. Display 1000 shows cells arranged according tocontent source axis 1002 and time period axis 1022. Display 1000 is analternative layout to display 700. For example, element 1004 is arepresentative element that appears next to each content source bydefault. In response to a user selection of element 1004, processingcircuitry 206 may generate for display additional information relatingto the content source corresponding to element 1004 (i.e. the “A&E”channel). In some embodiments, the additional information may be in theform of a pop-up overlay generated for display by control circuitry 206,such as pop-up overlay 1016. Pop-up overlay 1016 displays additionalinformation about the “BRAVO” channel, such as audience composition(which is an average audience composition of each cell/advertising slotfor that content source), average audience index (which is a weightedaverage of all audience indices for that content source), and percent ofplan weight (which relates to the percentage of impressions to bedelivered during the advertising campaign for this content source out ofthe total impressions to be delivered). The user may select weightingoption 1018 to adjust a relative weight of the selected content source,as described previously with respect to FIG. 7. A user selection ofoption 1020 will close pop-up overlay 1016.

If processing circuitry 206 receives a user selection of a weight valuefor a content source other than the default value, element 1004 may bereplaced with a value reflecting the weight value. For example, weightvalues 1008 and 1014 appear instead of the default element. In someembodiments, display 1000 may also display an in-plan weight for aparticular content source, such as indicator 1010. For example,indicator 1010 may represent the recommended plan weight for channel1006, as determined by audience management module 328, and may bedisplayed in response to a user adding or removing advertising manually.

In some embodiments, a combination of different time periods may beused. For example, daypart indicator 1022 shows cells/advertising slotsfor “Early Morning”. Hour indicator 1026 shows an hourly breakdown fordaypart indicator 1024. For example, in response to a user selection ofdaypart indicator 1024, processing circuitry 206 may generate fordisplay columns corresponding to hours during “Morning” as analternative to selecting all cells for that time period. In someembodiments, the user may select advertising slots for individual hoursto add to or remove from the plan. Depending on the granularity of thedisplay, a user selection may add all or remove all advertising slots.In other words, a selection of a daypart indicator or a cellcorresponding to a daypart/content source combination may be treated asa selection of all time periods within the daypart. Any functionexecuted with respect to the time period (daypart) will affect allshorter time periods (hours) within. In some embodiments, the user maylock a particular advertising slot to prevent a group function fromaffecting the status of the advertising slot.

The media plan interface may also allow a user view pricing informationwith respect to available inventory for a media plan.

FIG. 11 shows a pricing display for an illustrative media plan interfacein accordance with some embodiments of the disclosure. As an alternativeview to display 700, the media plan interface may be presented to a userin the form of display 1100, in accordance with the embodimentsdescribed herein. Display 1110 represents a media plan interface thatallows the user to view pricing information for various advertisingslots. For example, cell 1102 includes cost indicator 1152 (cost inCPM), background indicator (related to sellout ratio), and bar 1154(relative audience size indicator). Density indicator 1110 may provide avisual representation of the magnitude of sellout ratios for each of theplurality of cells, as depicted by their respective backgroundindicators.

In some embodiments, the user may select options 1108 and 1112, whichprovide increased granularity for the content source or time period thateach represents. In some embodiments, options 1108 and 1112 may appearin response to a user selection on a content source of content sourceaxis 1106 and a time period of time period axis 1104, respectively. Forexample, a selection of option 1112 may cause processing circuitry 206to generate for display an hour view corresponding to “Early Morning”,as described above with respect to FIG. 10. The hourly view may displayprices for each displayed hour. A user selection of options 1110 and1114 may cause options 1108 and 1112, respectively, to disappear fromdisplay 110, and may result in the corresponding row or column to revertback to a default view.

In some embodiments, the user may select display option 1118 to displaya particular type of price (e.g. premium rate card, based on standardrates for underlying units in a particular pricing tier, clearance CPM,based on a rate required to clear remaining units to be cleared by apublisher, and fixed CPM, based on a fixed CPM for all impressions inthe tier).

A user selection of zoom option 1124 may result in a relative increaseor decrease in size of elements appearing in display 1100, or a relativeincrease or decrease in granularity of the information appearing indisplay 1100. Zoom option 1124 may be implemented in any suitablefashion, such as a slider, buttons of various sizes, a percentageindicator, or any suitable combination thereof. In some embodiments, ifthe user selects a “zoom-in” option, this may cause processing circuitry206 to increase the granularity of the information displayed by, forexample, replacing existing time period columns with time period columnscorresponding to shorter time periods, as discussed with respect to FIG.7. Display 1100 may then also display information associated with theseshorter time periods, such as available advertising slots in those timeperiods and relevant audience-related parameters. A user selection ofsort option 1120 may result in the plurality of cells being sorted bycontent source in a similar fashion as described in relation to FIG. 7.

To navigate to information that is not currently visible, the user mayselect scroll options 1128 and 1130 to scroll the display along contentsource axis 1106 and time period axis 1104, respectively. If the userselects refresh option 1126, processing circuitry may retrieve updatedinformation from audience management module 328, and update the display1100 with this information as necessary. In some embodiments, the usermay select display range option 1122 to show time periods within aparticular time range. This may have a similar effect to selecting zoomoption 1124 by adjusting the granularity of the plurality of cells indisplay 1100.

In some embodiments, the user may directly select a cell of theplurality of cells in display 1100. Once the cell is selected, the usermay take an action suggestive of a particular function to execute withthe respective cell, as discussed above with respect to FIG. 7.Functions may be performed locally on user equipment device 300. Forexample, a user may select an option to set a fixed price for one of theplurality of cells. The fixed price may be a current price that the userwishes to hold constant, or may be changed to a user-designated price.Audience management module 328 may generate updated pricing for eachadvertising slot associated with the plurality of cells in response tothe user setting a fixed price. For example, audience management module328 may determine a projected demand for each of the plurality of cellsusing any suitable method described herein, and update the cellsaccordingly, but without affecting any cells that have fixed prices. Insome embodiments, the fixed price may be utilized as a model parameterto determine its effect on other advertising slots based on a predicteddemand for that slot or neighboring slots by competing advertisers.

FIG. 12 is a flowchart of the illustrative steps involved in generatingfor display a media plan interface. It should be noted that process 1200or any step thereof could be performed on, or provided by, any of thedevices shown in FIGS. 2 and 3. For example, process 1200 may beexecuted by control circuitry 204 (FIG. 2) as instructed by an audiencemanagement system, or a module thereof (e.g., implemented on audiencemanagement module 328 (FIG. 3)) in order to generate for display a mediaplan interface. In addition, one or more steps of process 1200 may beincorporated into or combined with one or more steps of any otherprocess or embodiment (e.g., as described in relation to FIGS. 13-16).

At step 1202, the audience management system initiates process 1200. Forexample, in some embodiments, the audience management system mayinitiate process 1200 in response to a user request (e.g., received viauser input interface 210 (FIG. 2)) requesting a generation of a displayof a media plan interface. At step 1204, the audience management systemgenerates for display a plurality of cells in a grid arrangement eachcell being associated with an advertising slot and including arepresentation of an audience. For example, the audience managementsystem may generate (e.g., via control circuitry 204 (FIG. 2)) fordisplay (e.g., on display 212 (FIG. 2)) a media plan interface (e.g.,media plan interface 700 (FIG. 7)). As discussed in relation to FIG. 7,the media plan interface may present numerous types of data. Forexample, the media plan interface may present data relating to contentsources, time periods, inventory, projected inventory, pricing,historical viewership data, audience metrics and analytics.

In some embodiments, the audience management system may be locatedremotely from a user equipment device (e.g., user equipment devices 302,304, and/or 306 (FIG. 3)) that is presenting the media plan interface(e.g., media plan interface 200 (FIG. 2)). For example, the audiencemanagement system (e.g., implemented on audience management module 328(FIG. 3)) may receive user input parameters (e.g., selecting cells inorder to execute a function associated with the respective cells)entered into a user input interface (e.g., user input interface 210(FIG. 2)) on a local user equipment device (e.g., user equipment devices302, 304, and/or 306 (FIG. 3)). The local user equipment device may thentransmit (e.g., via communications network 314 (FIG. 3)) the receiveduser input parameters for receipt by the audience management system(e.g., implemented on audience management module 328 (FIG. 3)).

In some embodiments, the audience management system may be locatedlocally. For example, the audience management module may be implementedon a user equipment device (e.g., user equipment device 200 (FIG. 2))that is presenting the media plan interface (e.g., media plan interface200 (FIG. 2)). The audience management system (e.g., implemented on userequipment device 200 (FIG. 2)) may receive user input parameters (e.g.,selecting cells in order to execute a function associated with therespective cell) entered into a user input interface (e.g., user inputinterface 210 (FIG. 2)). The local user equipment device may thenprocess the user input parameters (e.g., via processing circuitry 206(FIG. 2)) and generate for display the result of the executed functionon a display (e.g., display 212 (FIG. 2)).

In some embodiments, the local audience management system may receive(e.g., via communications network 314) data (e.g., values associatedwith one or more cells featured in the media plan interface, graphicalelements for visual indicators of an audience-related parameter, and/orany other data necessary for generating/performing the embodimentsdescribed herein) from one or more remote sources (e.g., media contentsource 316, media guidance data source 318, user profile server 324,audience management module 328, and/or any location accessible viacommunications network 314 (FIG. 3)). In such cases, the audiencemanagement system may store (even temporarily) received data in localmemory (e.g., storage 208 (FIG. 2)) until retrieval (e.g., by controlcircuitry 204 (FIG. 2)) by the audience management system.

At step 1206, the audience management system identifies a first cell ofthe plurality of cells. In some embodiments, identifying a first cellmay include receiving a user selection of a first cell. For example, theaudience management system may detect that a user (e.g., via user inputinterface 210 (FIG. 2)) has entered a user input parameter associatedwith a cell (e.g., cell 814 (FIG. 8)) of the plurality of cells (e.g.,the plurality of cells in grid arrangement 802 (FIG. 8)). Alternatively,the audience management system may automatically select a first cell.For example, the audience management system may select (e.g., viaprocessing circuitry 206 (FIG. 2)) a first cell (e.g., cell 814 (FIG.8)) of the plurality of cells (e.g., the plurality of cells in gridarrangement 802 (FIG. 8)) based on a predefined order (e.g., the firstcell is the next cell in a sequence of cells for which a function isexecuted), a characteristic of the first cell (e.g., the first cell hasnot yet been subject to the execution of a function), etc.

In some embodiments, as discussed above, the audience management systemmay be located locally. In such cases, the user input parameter received(e.g., via user input interface 210 (FIG. 2)) may be processed locally(e.g., at processing circuitry 206 (FIG. 2)) by comparing the receiveduser input parameter to data and/or instructions located at the userequipment device (e.g., user equipment device 200 (FIG. 2)). In someembodiments, as discussed above, the audience management system may belocated remotely. In such cases, the user input parameter received(e.g., via user input interface 210 (FIG. 2)) may be processed remotely(e.g., at audience management module 328 (FIG. 3)), after the receiveduser input parameter is transferred (e.g., via communications network314 (FIG. 3)) to a location (e.g., audience management module 328 (FIG.3)) at which the audience management system is implemented.

At step 1208, the audience management system executes a function withrespect to a first advertising slot associated with the cell. Forexample, in response to receiving a user selection (e.g., via user inputinterface 210 (FIG. 2)) of a first cell (e.g., cell 814 (FIG. 8)) of theplurality of cells (e.g., the plurality of cells in grid arrangement 802(FIG. 8)), the audience management system may execute (e.g., via controlcircuitry 204 (FIG. 2)) a function associated with the advertising slotcorresponding to the selected cell.

For example, in some embodiments, the function may add or remove anadvertising slot from an advertiser's media plan and/or otherwise modifya characteristic of the advertising slot associated with the selectedcell. As discussed above, in some embodiments, a user may manuallyselect (e.g., via user input interface 210 (FIG. 2)) a particular cellto add or remove its associated advertising slot to a media plan (e.g.,as displayed in a media plan interface). For example, in response to theuser selection, the media plan interface (e.g., displayed by controlcircuitry 204 (FIG. 2)) may present (e.g., on display 212 (FIG. 2)) an“add” function, which adds the advertising slot associated with theselected cell (e.g., cell 814 (FIG. 4)) to the media plan. In anotherexample, the media plan interface may present a “remove” function, whichremoves the advertising slot associated with the selected cell.

In some embodiments, based on the function executed with respect to theselect cell, the audience management system may modify the visual orgraphical properties, such as the background indicator and/or indexindicator discussed in relation to FIG. 8. Additionally oralternatively, if an advertising slot associated with a selected cell(e.g., cell 814 (FIG. 8)) is added to the media plan (e.g., displayed ondisplay 212 (FIG. 2)), the audience management system (e.g., viaprocessing circuitry 206 (FIG. 2)) may add to the advertising slot tothe media plan (e.g., via communicating the addition to audiencemanagement module 328).

In some embodiments, the function may be executed locally (e.g., at userequipment devices 302, 304, and/or 306 (FIG. 4)) or remotely (e.g., ataudience management module 328 and/or any location accessible viacommunications network 314 (FIG. 3)). For example, if a user equipmentdevice (e.g., user equipment device 200 (FIG. 2)) with which a user isinteracting with is located remotely from a device upon which theaudience management system is implemented (e.g., audience managementmodule 328 FIG. 3)) and the function requires one or more processes tobe performed remotely (e.g., at audience management module 328), thelocal device (e.g., user equipment device 200 (FIG. 2)) may transmit arequest to perform the function, along with any additional data, fromthe local device to the remote location. After executing the function(e.g., via processing circuitry located at the remote location), theaudience management system may transmit (e.g., via communicationsnetwork 314 (FIG. 3)) updated information to the local device fordisplay (e.g., on display 212 (FIG. 2)).

At step 1210, the audience management system ends process 1200. In someembodiments, the audience management system may return to step 1204 andgenerate for display a plurality of cells in a grid arrangement in whicheach cell is associated with an advertising slot as updated by theexecuted function in step 1208.

In some embodiments, the audience management system may update anaudience representation for each of the plurality of cells based onselections associated with different advertising campaigns. Multiplemedia plans/advertising campaigns may created by the user or generatedby the audience management system and stored (e.g., at audiencemanagement module 328 (FIG. 3)). Based on information in each of thestored media plans/advertising campaigns, the representation of audienceinformation may be updated accordingly (e.g., via processing circuitry204 (FIG. 2)) in response to receiving a user selection of a particularfunction. For example, the plurality of cells may be updated (e.g., viaprocessing circuitry 204 (FIG. 2)) to show whether associatedadvertising slots have been allocated to another media plan, anindicator of high demand for the associated advertising slots, whetherthe target audience is similar to a target audience of a differentadvertiser, a number of advertisers that have (or intend to) purchasethe advertising slot, or any suitable combination thereof. In someembodiments, the audience representation may be updated by removingaudience representation information to indicate that thecell/advertising slot was already selected for another advertisingcampaign.

It is contemplated that the steps or descriptions of FIG. 12 may be usedwith any other embodiment of this disclosure. In addition, the steps anddescriptions described in relation to FIG. 12 may be done in alternativeorders or in parallel to further the purposes of this disclosure. Forexample, each of these steps may be performed in any order or inparallel or substantially simultaneously to reduce lag or increase thespeed of the system or method. Furthermore, it should be noted that anyof the devices or equipment discussed in relation to FIGS. 2-3 could beused to perform one of more of the steps in FIG. 12.

FIG. 13 is a flowchart of the illustrative steps involved in media planallocation from a systems perspective. It should be noted that process1300 or any step thereof could be performed on, or provided by, any ofthe devices shown in FIGS. 2-3. For example, process 1300 may beexecuted by control circuitry 204 (FIG. 2) as instructed by an audiencemanagement system, or a module thereof (e.g., implemented on audiencemanagement module 328 (FIG. 3)) in order to allocate data structures ina media plan. In addition, one or more steps of process 1300 may beincorporated into or combined with one or more steps of any otherprocess or embodiment (e.g., as described in relation to FIGS. 12 and14-16).

It should also be noted that process 1300 may also be adapted toallocate budget values in numerous ways. For example, in someembodiments, the audience management system may allocate the budgetvalue to various groups such as time periods, content providers,programming types, and/or selected advertising universes. Moreover, insome embodiments, groups may be defined using Boolean expressions (e.g.,allocating a portion of a budget value to only a particular time periodand a particular content provider).

At step 1302, the audience management system initiates process 1300. Forexample, in some embodiments, audience management system may initiateprocess 1300 in response to a user request (e.g., received via userinput interface 210 (FIG. 2)) requesting a budget limit associated withthe advertising slots in a media plan interface.

At step 1304, the audience management system receives a user selectionof a budget value. For example, the user selection may indicate anumerical value (e.g., in monetary units and/or any other suitablemeasurement standard) that indicate a maximum value for whichadvertising slots in a media plan must correspond. In some embodiments,the value may be manually entered by a user (e.g., via user inputinterface 210 (FIG. 2)). For example, a user (e.g., via user inputparameters) may specify the maximum value that the user may allocate toadvertising slots over a given period of time (e.g., one calendarmonth).

In some embodiments, the user selection may be received automatically.For example, the advertisement management system may retrieve (e.g.,from user profile server 324 (FIG. 3)) a value allocated by the user foradvertisement slots a predetermined time, for example, corresponding tocycles at which advertising slots are typically filled (e.g., the firstof each month).

At step 1306, the media guidance application stores the budget value inmemory. For example, the advertisement management system may store thebudget value in memory (e.g., located locally at storage 208 (FIG. 2))or located remotely at audience management module 328 and/or anydatabase accessible via communications network 314 (FIG. 3)). In someembodiments, the budget value may be entering into a data structureassociated with one or more users. For example, the database may includea plurality of records each associated with a user. In response for thestored budget value, the advertisement management module may then inputan identifier (e.g., a serial number corresponding to a particularuser), and the database may output a record indicating the budget valueassociated with the particular advertiser (or user, if the user is theadvertiser).

At step 1308, the media guidance application partitions the budget valueinto a first partition value and a second partition value, in which eachof the first and second partition values is stored in the memory. Forexample, the audience management system may receive (e.g., via userinput interface 210 (FIG. 2)) a user selection of a budget value thatcorresponds to a fixed budget for an advertising campaign. The audiencemanagement system may then (e.g., via processing circuitry 206 (FIG. 2))partition the budget value into a first partition value and a secondpartition.

The ratio, percentage, and/or other numerical relationship between thepartitions may be based on numerous criteria. For example, the audiencemanagement system may receive (e.g., via user input interface 210 (FIG.2)) user selection identifying a numerical relationship between thepartitions. For example, a user selection may indicate that the firstpartition value should correspond to 70% of the total budget, and thesecond partition value should correspond to 30% of the total budget. Itshould also be noted that in some embodiments, a total budget may beallocated to any number of partitions. For example, a user selection mayindicate that the first partition value should correspond to 50% of thetotal budget, the second partition value should correspond to 25% of thetotal budget, and the third partition value should correspond to 25% ofthe total budget. In another example, a user selection may indicate thatthe first partition value should correspond to 60% of the total budget,and the remaining partition values should split the remaining 40% of thetotal budget according to another partitioning system, allocationalgorithm, and/or any other suitable technique for dividing theremaining 40% of the total budget.

In some embodiments, the audience management module may retrieve (e.g.,via control circuitry 204 (FIG. 2)) a numerical relationship. Forexample, in response to receiving a budget value for a user, theaudience management module may cross-reference a database (e.g., locatedat storage 208 (FIG. 2), user profile server 324 (FIG. 3), and/or anylocation accessible via communications network 314 (FIG. 3)) associatedwith numerical relationship for budget values corresponding to user. Theaudience management module may input the particular user into thedatabase and receive an output of a numerical relationship used forpartitioning the budget value. In some embodiments, the output may alsoindicate the number of partitions (e.g., zero, one, etc.) that should beapplied to the budget value as well as any other criteria (e.g.,particular audiences that should be targeted for a particular partition)associated with each partition.

At step 1310, the audience management system stores a plurality of datastructures in the memory. In some embodiments, the audience managementsystem may store (e.g., in storage 204 (FIG. 2) and/or any databaseaccessible via communications network 314 (FIG. 3)) (e.g., viaprocessing circuitry 204 (FIG. 2)) a plurality of data structures, inwhich each data structure may correspond to a particular advertisingslot. For example, as discussed in relation to FIGS. 7 and 8, theaudience management system may manage advertisement slots associatedwith cells (e.g., cell 814 (FIG. 8)) in a grid arrangement (e.g., gridarrangement 802 (FIG. 8)). Each cell may be associated with a datastructure that includes data relating to its respective content sources,time periods, inventory, projected inventory, pricing, historicalviewership data, audience metrics and analytics, or any other suitableinformation described herein.

At step 1312, the audience management module defines a plurality ofgroups, in which each of the plurality of data structures is associatedwith one or the plurality of groups. For example, the audiencemanagement system defines (e.g., via processing circuitry 306 (FIG. 3))a plurality of groups, and associates each of the plurality of datastructures with one of the plurality of groups. For example, the groupsmay correspond to days in an advertising campaign, and each of theplurality of data structures may represent an advertising slot for aparticular day. In some embodiments, each advertising slot may have anassociated budget weight (e.g. a price). The system may determine thatthe advertising slots to be added do not exceed the allocated budget forthe day by, for example, summing the budget weights and comparing thesum to the allocated budget (e.g., via processing circuitry 204 (FIG.2)).

At step 1314, the audience management system allocates a portion of thefirst portion value to each of the plurality of groups. The audiencemanagement system allocates (e.g., via processing circuitry 304 (FIG.3)) a portion (e.g., 10% of the total partition) of the first partitionvalue to each of the plurality of groups. In some embodiments, a groupmay include one or more criteria of organizing various data structures.For example, a group may correspond to a particular day of the week. Forexample, if the first partition value corresponds to 50% of the totalbudget, each day (e.g., in a five day campaign) may receive a portion ofthe first partition value (e.g., 20% of the partition value). In someembodiments, each day may receive an equal allocation of the 70% (e.g.for a seven-day advertising plan, each day receives 10% of the totalbudget).

At step 1316, the audience management system flags, for each of theplurality of groups, at least one data structure associated with thegroup based on the portion of the first partition value allocated to thegroup. Flagging may be achieved by storing a particular value in thedata structure that indicates to processing circuitry 204 that the datastructure is flagged. For example, the audience management system maydetermine (e.g., via processing circuitry 204 (FIG. 2)) to flag one ordata structures (e.g., corresponding to advertising slots) for each dayof a campaign based on the portion of the first partition valueallocated to the group. For example, the audience management system mayidentify (e.g., via processing circuitry 204 (FIG. 2)) a list ofadvertising slots for a particular day of the week that should be addedto the media plan, as long as the list of advertising slots does notexceed the allocated budget for that day.

In some embodiments, the audience management systems ranks each datastructure associated with a particular group based on audience-relatedcriteria, including audience composition, audience size, audience index,impressions, user-specified weight, or any suitable combination thereof.In some embodiments, the audience-related criteria may be included inthe data structure associated with each advertising slot. For example,the audience management system may (e.g., via processing circuitry 204(FIG. 2)) cross-reference one or more databases (e.g., stored locally atstorage 208 (FIG. 2) or remotely at user profile server 324, audiencemanagement module 328, and/or any other location accessible viacommunications network 314 (FIG. 3)) associated with audience-relatedcriteria in order to rank each data structure as discussed in relationto FIG. 14. In some embodiments, the score may be assigned based on theequation SCORE=(Audience Index)*(Channel Weight)*(Daypart Weight). Forexample, Audience Index may be related to a projected audience size, andmay be a function of audience size and audience composition. ChannelWeight and Daypart Weight may be user-designated weight values assignedto a corresponding content source of the data structure (e.g., weightoption 708 (FIG. 7)) and a corresponding time period (e.g., weightoption 714 (FIG. 7)), respectively.

At step 1318, the audience management system identifies a subset ofunflagged data structures within the plurality of data structures. Insome embodiments, the audience management system (e.g., via processingcircuitry 204 (FIG. 2)) identifies a remainder of data structures withinthe plurality of data structures that are unflagged regardless of thegroup that the data structures are associated with. For example, afterallocating a portion of the first partition value to particular datastructures, the audience management system may (e.g., via processingcircuitry 204 (FIG. 2)) allocate a portion of the second partition valueto other data structures. For example, the audience management systemmay search (e.g., via processing circuitry 204 (FIG. 2)) the datastructures to identify data structures that were not flagged (e.g.,purchased by a user).

At step 1320, the audience management system flags at least on datastructure within the subset based on the second partition value. Forexample, in some embodiments, the audience management system may search(e.g., via processing circuitry 204 (FIG. 2)) the data structures toidentify data structures that were not flagged (e.g., purchased by auser). The audience management system may then rank (e.g., as discussedbelow in relation to FIG. 14) each data structure and select the highestranked unflagged data structure. For example, the audience managementsystem may rank each data structure based on audience-related criteria,including audience composition, audience size, audience index,impressions, user-specified weight, campaign goals and parameters, suchas total impressions, budget constraints, inventory restrictions, reach,frequency, or any suitable combination thereof. In some embodiments, theaudience management system may select one or more audience-relatedcriteria upon which to base the ranking. It should be noted that theranking may be determine based on any suitable technique and/ormathematical process including, but not limited to, linear andnon-linear approaches.

In some embodiments, the audience management system may perform (e.g.,via processing circuitry 204 (FIG. 2)) one or more iteration of step1318 until a particular portion of the second partition value is used.For example, the audience management system may perform iterations ofstep 1318 until the entirety of the second partition value is used.During each iteration, the audience management system may identify andcompare (e.g., via processing circuitry 204 (FIG. 2)) the highest rankeddata structure of the unflagged data structures to the remaining portionof the second partition value. If the audience management systemdetermines (e.g., via processing circuitry 204 (FIG. 2)) that theidentified highest ranked data structure of the remaining datastructures of this iteration corresponds to (e.g., the amount of budgetconsumption associated with the identified data structure is equal to oris less than) the remaining portion of the second partition value, theaudience management system flags the identified data structure. If not,the audience management system may select a different data structure asdiscussed below in relation to FIG. 14.

At step 1322, the audience management system ends process 1300. In someembodiments, the audience management system may return to step 1304 andreceive a new budget value associated with a different advertiser (oruser, if the advertiser is the user). For example, the audiencemanagement system may perform multiple iterations of process 1300 untileach budget value for a plurality of advertisers is partitioned andallocated.

It is contemplated that the steps or descriptions of FIG. 13 may be usedwith any other embodiment of this disclosure. In addition, the steps anddescriptions described in relation to FIG. 13 may be done in alternativeorders or in parallel to further the purposes of this disclosure. Forexample, each of these steps may be performed in any order or inparallel or substantially simultaneously to reduce lag or increase thespeed of the system or method. Furthermore, it should be noted that anyof the devices or equipment discussed in relation to FIGS. 2-3 could beused to perform one of more of the steps in FIG. 13.

FIG. 14 is a flowchart of the illustrative steps involved inoptimization and allocation of advertising slots for a media plan. Itshould be noted that process 1400 or any step thereof could be performedon, or provided by, any of the devices shown in FIGS. 2-3. For example,process 1400 may be executed by control circuitry 204 (FIG. 2) asinstructed by an audience management system, or a module thereof (e.g.,implemented on audience management module 328 (FIG. 3)) in order toallocate advertising slots for a media plan. In addition, one or moresteps of process 1400 may be incorporated into or combined with one ormore steps of any other process or embodiment (e.g., as described inrelation to FIGS. 12-13 and 15-16).

At step 1402, the audience management system initiates process 1400. Forexample, in some embodiments, audience management system may initiateprocess 1400 in response to a user request (e.g., received via userinput interface 210 (FIG. 2)) requesting to allocate a budget value of auser.

At step 1404, the audience management system receives a user selectionof a budget value. For example, in some embodiments, step 1404 maycorrespond to step 1304 (FIG. 13). For example, the user selection mayindicate a numerical value (e.g., in monetary units and/or any othersuitable measurement standard) that indicate a maximum value for whichadvertising slots in a media plan must correspond. In some embodiments,the value may be manually entered by a user (e.g., via user inputinterface 210 (FIG. 2)). For example, a user (e.g., via user inputparameters) may specify the maximum value that the user may allocate toadvertising slots over a given period of time (e.g., one calendarmonth). Additionally or alternatively, the user selection may bereceived automatically. For example, the advertisement management systemmay retrieve (e.g., from user profile server 324 (FIG. 3)) a valueallocated by the user for advertisement slots at a predetermined time,for example, corresponding to cycles at which advertising slot aretypically filled (e.g., the first of each month).

At step 1406, the media guidance application partitions the budget valueinto a first budget portion and a second portion. For example, in someembodiments, step 1406 may correspond to step 1308 (FIG. 13) and thefirst budget portion and the second budget portion may correspond to thefirst partition value and the second partition value, respectively. Forexample, the audience management system may receive (e.g., via userinput interface 210 (FIG. 2)) a user selection of a budget value thatcorresponds to a fixed budget for an advertising campaign. The audiencemanagement system may then (e.g., via processing circuitry 206 (FIG. 2))partition the budget value into a first budget portion and a secondbudget portion. In some embodiments, the sum of the first budget portionand the second budget portion may correspond to the budget value (e.g.,if entire the budget value is allocated into only two portions).Alternatively, the sum first budget portion and the second budgetportion may not correspond to the budget value (e.g., if entire thebudget value is not allocated and/or allocated into two or moreportions).

At step 1408, the audience management system allocates the first budgetportion across each day in an advertising campaign. In some embodiments,step 1408 may correspond to step 1314 (FIG. 13). For example, theaudience management system may allocate (e.g., via processing circuitry304 (FIG. 3)) an equal or unequal portion of the first budget portionacross each day in an advertising campaign. For example, if anadvertising campaign corresponds to five days, the audience managementsystem may allocate each day a 20% share of the first budget portion.Alternatively, the audience management system may allocate unequalportions to different days of the advertising campaign. For example, theaudience management system may allocate a higher portion to a weekend(e.g., when more viewers are consuming content) and allocate a lowerportion to a weekday (e.g., when fewer viewers are consuming content).

At step 1410, the audience management system selects a day in theadvertising campaign. For example, the number of days in the advertisingcampaign and an identification of the individual days in the advertisingcampaign may be retrieved from a profile associated with the user orwith the advertising campaign. For example, the audience managementsystem may cross-reference an identifier (e.g., a serial number, ordernumber, etc.) associated with a user or an advertising campaign in adatabase (e.g., storage 208 (FIG. 2), user profile server 324 (FIG. 3),audience management module 328 (FIG. 3), or any other locationaccessible via communications network 314 (FIG. 3)) that lists thenumber of days in the advertising campaign and/or identifies theindividual days in the advertising campaign.

The audience management system may input (e.g., via processing circuitry206 (FIG. 2)) an identifier for the user and/or the advertisingcampaign. In response, the database may output a listing of the numberof days in the advertising campaign and/or the individual days in theadvertising campaign. The audience management system may then select oneor more of the days. In some embodiments, the audience management systemmay perform one of more iterations of process 1400, in which each day ofthe advertising campaign is processed.

At step 1412, the audience management system ranks available advertisingslots for the selected day. For example, the audience management systemmay retrieve (e.g., via processing circuitry 206 (FIG. 2)) dataassociated with available advertising slots that indicate the contentsources, time periods, inventory, projected inventory, pricing,historical viewership data, audience metrics and analytics, or anysuitable information described herein, associated with the advertisingslot. Based on this data, the audience management system may determinethat particular advertising slots that are associated with the selectedday. After identifying the particular advertising slots available forthe selected day based on data associated with the advertising slots,the audience management system proceeds to rank (e.g., via processingcircuitry 204 (FIG. 2)) the identified advertising slots.

At step 1414, the audience management system selects the top rankedadvertising slot for the selected day. For example, the audiencemanagement system may compare each advertising slot available on theselected day to each other to determine (e.g., via processing circuitry204 (FIG. 2)) a rank of each advertising slot based on audience-relatedcriteria, including audience composition, audience size, audience index,impressions, user-specified weight, campaign goals and parameters, suchas total impressions, budget constraints, inventory restrictions, reach,frequency, or any suitable combination thereof. In some embodiments, theaudience management system may select one or more audience-relatedcriteria upon which to base the ranking. It should be noted that theranking may be determine based on any suitable technique and/ormathematical process including, but not limited to, linear andnon-linear approaches. In some embodiments, the ranking may performed ina fashion similar to that described in relation to FIG. 13.

In some embodiments, the system optimizes the use of inventory acrossall of the active media plans, enabling the system to optimizeselections of advertising slots for multiple advertisers concurrently.In such cases in which a user is preparing media plans for more than oneadvertiser, the system may rank advertising slots for each media planbased on parameters associated with each media plan (e.g., viaprocessing circuitry 204 (FIG. 2)). For example, the system may rank aparticular advertising slot higher for one media plan, based on a weightvalue, an audience composition, or any other suitable parameterassociated with that media plan (e.g. the advertiser has designated atarget audience segment). The system may rank that same advertising slotfor a different media plan. When determining to which the advertisingslot should be allocated to a particular media plan, the system mayselect the advertising slot for the media plan corresponding to thehigher rank. To prevent a particular advertiser from getting anunbalanced amount of inventory selections, the system may randomlyselect an advertising slot for a particular media plan when differentmedia plan scores for the advertising slot fall within a particularrange. In some embodiments, the selection may not be random, but insteadmay take into account the total number of selections made for differentmedia plans to ensure an even allocation of high ranking inventory.

In some embodiments, the system may generate a single ranked list ofadvertising slots (e.g., via processing circuitry 204 (FIG. 2)), inwhich each advertising slot in the list is associated with a particularadvertiser. The audience management system may proceed to addadvertising slots to a respective media plan of the associatedadvertiser in order from highest ranking advertising slots to lowestranking advertising slots.

At step 1416, the audience management system determines whether or notpurchasing the selected advertising slot exceeds the allocated budgetfor the selected day. For example, the audience management system maydetermine (e.g., via processing circuitry 204 (FIG. 2)) whether or notthe portion of the budget value allocated to the current day correspondsto (e.g., is equal to or less than), the cost to purchase the selectedadvertising slot based on a budget weight associated with theadvertising slot. In some embodiments, the audience management systemmay receive the cost associated with advertising slots from a local(e.g. storage 208 (FIG. 2)) or remote (e.g., audience management module328 (FIG. 3)) source.

In some embodiments, the costs associated with each advertising slot maybe continuously monitored and updated. For example, the audiencemanagement system may receive a real-time feed indicating the currentcost associated with each advertising slot. Additionally oralternatively, the audience management may have access to an algorithmthat determines the current cost of the advertising slot based on one ormore criteria. For example, an algorithm may indicate that as feweradvertising slots for a particular day remain, the cost to purchase anadvertising slot on that day may increase. In such cases, the audiencemanagement system (e.g., via processing circuitry 204 (FIG. 2)) maycontinually determine prices for various advertising slots as necessary.Additionally or alternately, the audience management system may applyone or more step of process 1500 (FIG. 5) or process 1600 (FIG. 16) todetermine a cost of an advertising slot.

If the audience management system determines that the cost to purchasethe selected advertising slot does not exceed the allocated budget forthe selected day, the audience management system proceeds to step 1418.At step 1418, the audience management system purchases (or flags forpotential purchasing, depending on user preferences) the selectedadvertising slot and selects the next highest ranking advertising slot(e.g., as determined in step 1412) before returning to step 1416. If theaudience management system determines to that the cost to purchase theselected advertising slot exceeds the allocated budget for the selectedday, the audience management system proceeds to step 1420.

At step 1420, the audience management system determines whether or notevery day in the advertising campaign has been selected. If not, theaudience management system proceeds to step 1422, selects a differentday, and returns to step 1412. For example, the audience managementsystem may ensure that the allocation of the first budget portion foreach day is used. The audience management system may ensure this byperforming multiple iterations of one or more steps of process 1400(e.g., corresponding to each day of the advertising campaign). If theaudience management system determines that every day in the advertisingcampaign has been selected, the audience management system proceeds tostep 1424.

At step 1424, the audience management system ranks all availableadvertising slots remaining regardless of the day. For example, afterthe audience management system has allocated the first budget portion toeach day, week, or user-specified period of the campaign (e.g., ensuringthat at least one advertising slot has been purchased (or flagged forpotential purchasing) for each day of the campaign). The audiencemanagement system ranks (e.g., via processing circuitry 204 (FIG. 2))the remaining advertising slots to select additional advertising slotsfor purchasing (or flagging for potential purchasing).

At step 1426, the audience management system selects the top rankedadvertising slot of any available advertising slot. For example, theaudience management system may compare each advertising slot availableto all other available advertising slots to determine (e.g., viaprocessing circuitry 204 (FIG. 2)) a rank of each advertising slot basedon audience-related criteria associated with a respective advertisingslot (e.g., including, but not limited to, audience composition,audience size, audience index, impressions, user-specified weight, orany suitable combination thereof).

At step 1428, the audience management system determines whether or notpurchasing the selected advertising slot exceeds the second budgetportion. For example, the audience management system may determine(e.g., via processing circuitry 204 (FIG. 2)) whether or not the secondbudget portion value corresponds to (e.g., is equal to or less than),the cost to purchase the selected advertising slot. If the audiencemanagement system determines that the cost to purchase the selectedadvertising slot does not exceed the second budget portion, the audiencemanagement system proceeds to step 1430. At step 1430, the audiencemanagement system purchases (or flags for potential purchasing) theselected advertising slot and selects the next highest rankingadvertising slot (e.g., as determined in step 1424) before returning tostep 1428. If the audience management system determines to that the costto purchase the selected advertising slot exceeds the second budgetportion, the audience management system proceeds to step 1432.

At step 1432, the audience management system ends process 1400. In someembodiments, the audience management system may return to step 1404 andreceive a new budget value associated with a different user. Forexample, the audience management system may perform multiple iterationsof process 1400 until each budget value for a plurality of users ispartitioned and allocated.

It is contemplated that the steps or descriptions of FIG. 14 may be usedwith any other embodiment of this disclosure. In addition, the steps anddescriptions described in relation to FIG. 14 may be done in alternativeorders or in parallel to further the purposes of this disclosure. Forexample, each of these steps may be performed in any order or inparallel or substantially simultaneously to reduce lag or increase thespeed of the system or method. Furthermore, it should be noted that anyof the devices or equipment discussed in relation to FIGS. 2-3 could beused to perform one of more of the steps in FIG. 14.

FIG. 15 is a flowchart of the illustrative steps involved in static anddynamic pricing of advertising slots for a media plan. It should benoted that process 1500 or any step thereof could be performed on, orprovided by, any of the devices shown in FIGS. 2-3. For example, process1500 may be executed by control circuitry 204 (FIG. 2) as instructed byan audience management system, or a module thereof (e.g., implemented onaudience management module 328 (FIG. 3)) in order to assign prices todata structures. In addition, one or more steps of process 1500 may beincorporated into or combined with one or more steps of any otherprocess or embodiment (e.g., as described in relation to FIGS. 12-14 and16).

At step 1502, the audience management system initiates process 1500. Forexample, in some embodiments, audience management system may initiateprocess 1500 in response to a user request (e.g., received via userinput interface 210 (FIG. 2)) requesting to select an advertising slot.

At step 1504, the audience management system stores, in a memory, aplurality of data structures, each data structure representing one aplurality of advertising slots. As discussed above in relation to FIG.13, in some embodiments, the audience management system may store (e.g.,in storage 204 (FIG. 2) and/or any database accessible viacommunications network 314 (FIG. 3)) (e.g., via processing circuitry 204(FIG. 2)) a plurality of data structures, in which each data structuremay correspond to a particular advertising slot.

At step 1506, the audience management system stores, in each of theplurality of data structures a price value associated with a respectiveadvertising slot. For example, as discussed in relation to FIGS. 7 and8, the audience management system may manage advertisement slotsassociated with cells (e.g., cell 814 (FIG. 8)) in a grid arrangement(e.g., grid arrangement 802 (FIG. 8)). Each cell may be associated witha data structure that includes data relating to its respective contentsources, time periods, inventory, projected inventory, pricing,historical viewership data, audience metrics and analytics, or any othersuitable information described herein.

At step 1508, the audience management system receives a user selectionof a fixed price value. For example, the audience management system mayreceive (e.g., via user input interface 210 (FIG. 2)) a user selectionentering a fixed price value for an advertising slot in response to auser selection of a cell (e.g., cell 814 (FIG. 8)) in a grid arrangement(e.g., grid arrangement 802 (FIG. 8)) displayed (e.g., on display 212(FIG. 2)) by the audience management system.

At step 1510, the audience management system stores the fixed pricevalue as the price value of a first data structure of the plurality ofdata structures. For example, the fixed price value associated with thedata structure may be stored (e.g., in storage 204 (FIG. 2) and/or anydatabase accessible via communications network 314 (FIG. 3)) along withother information related to the data structure such as data structurethat includes data relating to its respective content sources, timeperiods, inventory, projected inventory, pricing, historical viewershipdata, audience metrics and analytics, or any other suitable informationdescribed herein.

At step 1512, the audience management system automatically updates theprice value of each of the plurality of data structures without changingthe price value of the first data structure. For example, a user (e.g.,via user input interface 210 (FIG. 2)) may designate a particularadvertising slot to have a fixed price. The audience management systemmay automatically (e.g., via processing circuitry 204 (FIG. 2)) updatethe price value of each of the plurality of data structures withoutchanging the price value of the first data structure.

For example, once the price is fixed for a first advertising slot, theaudience management system may update (e.g., via processing circuitry204 (FIG. 2)) the pricing information associated with a remainder of thedata structures based on a projected demand of each of the remainder ofthe data structures. In some embodiments, the audience management systemmay determine (e.g., via processing circuitry 204 (FIG. 2)) theprojected demand may be based on the fixed price (e.g. setting a highfixed price may be predicted to increase the demand of “nearby”advertising slots on the same television channel). The audiencemanagement system may determine (e.g., via processing circuitry 204(FIG. 2)) projected demand by analyzing historical inventory data,projected inventory data, current demand, audience estimates, or anysuitable combination thereof.

In some embodiments, the projected demand and/or the historicalinventory data, projected inventory data, current demand, audienceestimates, or any suitable combination thereof may be retrieve fromlocal storage (e.g., storage 208 (FIG. 2) and/or any location accessiblevia communications network 314 (FIG. 3)). In some embodiments, theprojected demand and/or data associated with generating the projecteddemand may be received via a data-feed in real-time. Alternatively, theprojected demand and/or data associated with generating the projecteddemand may be periodically updated/received (e.g., in response to a userselection establishing a fixed price).

At step 1514, the audience management system ends process 1500. In someembodiments, the audience management system may return to step 1504 andperform another iteration of process 1500 (e.g., associated with anotheruser selection of a fixed price value).

It is contemplated that the steps or descriptions of FIG. 15 may be usedwith any other embodiment of this disclosure. In addition, the steps anddescriptions described in relation to FIG. 15 may be done in alternativeorders or in parallel to further the purposes of this disclosure. Forexample, each of these steps may be performed in any order or inparallel or substantially simultaneously to reduce lag or increase thespeed of the system or method. Furthermore, it should be noted that anyof the devices or equipment discussed in relation to FIGS. 2-3 could beused to perform one of more of the steps in FIG. 15.

FIG. 16 is a flowchart of the illustrative steps involved in static anddynamic pricing of pricing tiers for a media plan. It should be notedthat process 1600 or any step thereof could be performed on, or providedby, any of the devices shown in FIGS. 2-3. For example, process 1600 maybe executed by control circuitry 204 (FIG. 2) as instructed by anaudience management system, or a module thereof (e.g., implemented onaudience management module 328 (FIG. 3)) in order to assign prices todata structures. In addition, one or more steps of process 1600 may beincorporated into or combined with one or more steps of any otherprocess or embodiment (e.g., as described in relation to FIGS. 12-15).

At step 1602, the audience management system initiates process 1600. Forexample, in some embodiments, audience management system may initiateprocess 1600 in response to a user request (e.g., received via userinput interface 210 (FIG. 2)) requesting to select an advertising slot.

At step 1604, the audience management system associates (e.g., viaprocessing circuitry 204 (FIG. 2)) each of a plurality of advertisingslots with one of a plurality of pricing tiers. For example, theaudience management system may use pricing tiers to set the prices of aplurality of advertising slots by associating each of the plurality ofadvertising slots with one of the plurality of pricing tiers.

At step 1606, the audience management system receives a user selectionof a fixed price value of a first pricing tier. For example, theaudience management system may receive (e.g., via user input interface210 (FIG. 2)) a user selection entering a fixed price value of a pricingtier for a plurality of advertising slots in response to a userselection.

At step 1608, the audience management system update a price value foreach of the plurality of pricing tiers without changing the price valueof the first pricing tier. For example, once the user sets the fixedprice for the pricing tier, the audience management system may update aprice value for each of the plurality of pricing tiers without changingthe price value of the fixed pricing tier.

At step 1610, the audience management system updates each price of theplurality of advertising slots based on an updated price value of anassociated pricing tier. The audience management system then updates(e.g., via control circuitry 204 (FIG. 2)) each price value of theplurality of advertising slots based on an updated price value of anassociated pricing tier. For example, the updated price value of anassociated pricing tier may be stored (e.g., in storage 204 (FIG. 2)and/or any database accessible via communications network 314 (FIG. 3))along with other information related to one or more data structure.

At step 1612, the audience management system ends process 1600. In someembodiments, the audience management system may return to step 1604 andperform another iteration of process 1600 (e.g., associated with anotheruser selection of a fixed price value of a first pricing tier).

It is contemplated that the steps or descriptions of FIG. 16 may be usedwith any other embodiment of this disclosure. In addition, the steps anddescriptions described in relation to FIG. 16 may be done in alternativeorders or in parallel to further the purposes of this disclosure. Forexample, each of these steps may be performed in any order or inparallel or substantially simultaneously to reduce lag or increase thespeed of the system or method. Furthermore, it should be noted that anyof the devices or equipment discussed in relation to FIGS. 2-3 could beused to perform one of more of the steps in FIG. 16.

The above-described embodiments of the present disclosure are presentedfor purposes of illustration and not of limitation, and the presentdisclosure is limited only by the claims which follow. Furthermore, itshould be noted that the features and limitations described in any oneembodiment may be applied to any other embodiment herein, and flowchartsor examples relating to one embodiment may be combined with any otherembodiment in a suitable manner, done in different orders, or done inparallel. In addition, the systems and methods described herein may beperformed in real-time. It should also be noted, the systems and/ormethods described above may be applied to, or used in accordance with,other systems and/or methods.

It should be understood that the above steps of the flow diagrams ofFIGS. 12-16 may be executed or performed in any order or sequence notlimited to the order and sequence shown and described in the figures.Also, some of the above steps of the flow diagrams of FIGS. 12-16 may beexecuted or performed substantially simultaneously, where appropriate.

The above-described embodiments of the present disclosure are presentedfor purposes of illustration and not of limitation, and the presentdisclosure is limited only by the claims which follow.

1. A method for selecting advertising slots in an advertising campaign,the method comprising: receiving a user selection of a budget value;storing the budget value in a memory; partitioning the budget value intoa first partition value and a second partition value, wherein each ofthe first and second partition values is stored in the memory; storing aplurality of data structures in the memory; defining a plurality ofgroups, wherein each of the plurality of data structures is associatedwith one of the plurality of groups; allocating a portion of the firstpartition value to each of the plurality of groups; flagging, for eachof the plurality of groups, at least one data structure associated withthe group based on the portion of the first partition value allocated tothe group; identifying a subset of unflagged data structures within theplurality of data structures; and flagging at least one data structurewithin the subset based on the second partition value.
 2. The method ofclaim 1, wherein flagging, for each of the plurality of groups, at leastone data structure associated with the group based on the portion of thefirst partition value allocated to the group comprises: ranking, basedon an audience-related criterion, each data structure associated withthe group; identifying a plurality of ranked data structures having thehighest rankings of each data structure associated with the group; andflagging each of the identified plurality of ranked data structures,wherein a sum of budget weights associated with each of the identifiedplurality of ranked data structures is less than or equal to the portionof the first partition value allocated to the group.
 3. The method ofclaim 1, wherein flagging at least one data structure within the subsetbased on the second partition value comprises: ranking, based on anaudience-related criterion, each unflagged data structure of theplurality of data structures; identifying a plurality of ranked datastructures having the highest rankings of each data structure of theplurality of data structures; and flagging each of the identifiedplurality of ranked data structures, wherein a sum of budget weightsassociated with each of the identified plurality of ranked datastructures is less than or equal to the second partition value.
 4. Themethod of claim 1, wherein allocating a portion of the first partitionvalue to each of the plurality of groups comprises allocating a portionof the first partition value equally to each of the plurality of groups.5. The method of claim 1, wherein each of the plurality of groups isrepresentative of a time period.
 6. The method of claim 1, wherein eachof the plurality of data structures is representative of an availableadvertising slot.
 7. The method of claim 1, wherein flagging a datastructure is indicative of adding an available advertising slot to anadvertising campaign plan.
 8. The method of claim 1, wherein the firstpartition value and the second partition value are user-designated. 9.The method of claim 1, further comprising generating for display aplurality of cells in a grid arrangement, wherein: each of the pluralityof cells is representative of one of the plurality of data structures,and each of the plurality of cells is arranged according to a contentsource and a time period of the data structure represented by the cell.10. The method of claim 1, wherein each of the plurality of datastructures is associated with a budget weight, and wherein each budgetweight is determined based on a pricing tier.
 11. A system for selectingadvertising slots in an advertising campaign, the system comprising:processing circuitry, wherein the processing circuitry is configured to:receive a user selection of a budget value; store the budget value in amemory; partition the budget value into a first partition value and asecond partition value, wherein each of the first and second partitionvalues is stored in the memory; store a plurality of data structures inthe memory; define a plurality of groups, wherein each of the pluralityof data structures is associated with one of the plurality of groups;allocate a portion of the first partition value to each of the pluralityof groups; flag, for each of the plurality of groups, at least one datastructure associated with the group based on the portion of the firstpartition value allocated to the group; identify a subset of unflaggeddata structures within the plurality of data structures; and flag atleast one data structure within the subset based on the second partitionvalue.
 12. The system of claim 11, wherein the processing circuitry isfurther configured to: rank, based on an audience-related criterion,each data structure associated with the group; identify a plurality ofranked data structures having the highest rankings of each datastructure associated with the group; and flag each of the identifiedplurality of ranked data structures, wherein a sum of budget weightsassociated with each of the identified plurality of ranked datastructures is less than or equal to the portion of the first partitionvalue allocated to the group.
 13. The system of claim 11, wherein theprocessing circuitry is further configured to: rank, based on anaudience-related criterion, each unflagged data structure of theplurality of data structures; identify a plurality of ranked datastructures having the highest rankings of each data structure of theplurality of data structures; and flag each of the identified pluralityof ranked data structures, wherein a sum of budget weights associatedwith each of the identified plurality of ranked data structures is lessthan or equal to the second partition value.
 14. The system of claim 11,wherein the processing circuitry is further configured to allocate aportion of the first partition value equally to each of the plurality ofgroups.
 15. The system of claim 11, wherein each of the plurality ofgroups is representative of a time period.
 16. The system of claim 11,wherein each of the plurality of data structures is representative of anavailable advertising slot.
 17. The system of claim 11, wherein flagginga data structure is indicative of adding an available advertising slotto an advertising campaign plan.
 18. The system of claim 11, wherein thefirst partition value and the second partition value areuser-designated.
 19. The system of claim 11, wherein the processingcircuitry is further configured to generate for display a plurality ofcells in a grid arrangement, wherein: each of the plurality of cells isrepresentative of one of the plurality of data structures, and each ofthe plurality of cells is arranged according to a content source and atime period of the data structure represented by the cell.
 20. Thesystem of claim 11, wherein each of the plurality of data structures isassociated with a budget weight, and wherein each budget weight isdetermined based on a pricing tier. 21-60. (canceled)